GitHub:哔哩哔哩的 API 调用模块

2020-09-15 18:26:43 +08:00
 zhijieju

hello,小伙伴们,大家好,今天给大家介绍的开源项目是:bilibili_api,这个开源项目主要是用 Python 写的调用 Bilibili 各种 API 的库,范围涵盖视频、音频、直播、动态、专栏、用户、番剧等[1]。你可以使用很简短的代码去调用 API,而不需要自己去寻找 API,指定各种参数。

安装

pip install bilibili_api

特色


使用


接下来我们来获取视频的播放量等信息:

from bilibili_api import video

v = video.get_video_info(bvid="BV1uv411q7Mv")
print(v)

输出(已格式化,已省略部分):

{
    "bvid": "BV1uv411q7Mv",
    "aid": 243922477,
    "videos": 1,
    "tid": 17,
    "tname": "单机游戏",
    "copyright": 1,
    "pic": "http://i2.hdslb.com/bfs/archive/82e52df9d0221836c260c82f2890e3761a46716b.jpg",
    "title": "爆肝98小时!在 MC 中还原糖调小镇",
    "pubdate": 1595203214,
    "ctime": 1595168654,
    ...
}

就这么简单。

如何给这个视频点赞?我们需要登录自己的账号。

几乎所有函数都支持传入一个本 API 自定义的类 bilibili_api.Verify,用于验证登录。

为了调用 API 方便,我们一次性获取全部需要用到的值。

获取 SESSDATA 和 CSRF


这里以 谷歌浏览器 为例。 首先我们可以在链接栏左侧看到一个小锁,如果你没有使用 HTTPS,那么可能会显示 不安全 的字样,点击以后,下面有个 Cookies 。

点开后,我们在下面找到以下两个键对应的值,分别是 SESSDATA 和 bili_jct,这里注意一下,bili_jct 就是 CSRF

接下来,我们实例化 bilibili_api.Verify 类,之后用于传入各种 API 函数。

from bilibili_api import Verify

verify = Verify(sessdata="你的 SESSDATA 值", csrf="你的 bili_jct 值")

接下来我们给这个视频进行点赞操作,完整代码如下:

from bilibili_api import video, Verify

verify = Verify("你的 SESSDATA 值", "你的 bili_jct 值")
video.set_like(bvid="BV1uv411q7Mv", status=True, verify=verify)

如果没有报错,就代表调用 API 成功,你可以到视频页面确认是不是调用成功了。

注意,请不要泄露这两个值给他人,否则你的账号将可能遭受盗号的风险!

注意,请不要泄露这两个值给他人,否则你的账号将可能遭受盗号的风险!

注意,请不要泄露这两个值给他人,否则你的账号将可能遭受盗号的风险!

关于 API 调用

所有 API 调用,请尽量使用 指名方式 传参,因为 API 较多,我写的时候可能不同函数的传参顺序不一样,例子:

# 建议方式
video.set_like(bvid="BV1uv411q7Mv", status=True, verify=verify)

# 当然也可以这样
kwargs = {
    "bvid": "BV1uv411q7Mv",
    "status": True,
    "verify": verify
}
video.set_like(**kwargs)

# !!!不建议方式
video.set_like("BV1uv411q7Mv", True, verify)

以上就是这个开源项目的介绍了,感兴趣的小伙伴,不妨自己去应用一下,peace!

开源地址: https://github.com/Passkou/bilibili_api 项目官网: bilibili_api 官网 开发文档: bilibili_api 开发文档

今天的推荐不知道大家喜欢吗?如果你们喜欢话,请在文章底部留言或点赞,以表示对我的支持,你们的留言,点赞,转发关注是我持续更新的动力哦!

关注公众号回复:"1024",免费领取一大波学习资源,先到先得哦!

1334 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/707270

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX