#hello,小伙伴们,大家好,今天给大家介绍的开源项目是:bilibili_api
,这个开源项目主要是用Python写的调用 Bilibili 各种API的库,范围涵盖视频、音频、直播、动态、专栏、用户、番剧等[1]。你可以使用很简短的代码去调用API,而不需要自己去寻找API,指定各种参数。
安装
pip install bilibili_api
- requests
- beautifulsoup4
- aiohttp
- websockets
- cssutils
特色
- 范围涵盖广,基本覆盖常用的爬虫,操作。
- 可使用代理,绕过b站风控策略。
- 全面支持BV号(bvid),同时也兼容AV号(aid)。
- 调用简便,函数命名易懂,代码注释详细。
- 不仅仅是官方提供的API!还附加:AV号与BV号互转[2]、连接直播弹幕Websocket服务器、视频弹幕反查[3]、专栏内容爬取等。
使用
接下来我们来获取视频的播放量等信息:
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
",免费领取一大波学习资源,先到先得哦!
