爬取bilibili再也不用头疼了,bilibili-api一步到位!

Python乱炖

共 1219字,需浏览 3分钟

 ·

2020-07-31 12:38

前几天在github上看到有意思的项目 —— bilibili-api,作者是个二次元的宅男Passkou。以下是该项目的地址:


https://github.com/Passkou/bilibili_api



项目可以直接使用pip直接进行安装:


pip install bilibili_api


之后在代码中直接 import bilibili_api 就可以使用了!



先来看个简单的demo:


from bilibili_api import video, Verify
# 设置验证
verify = Verify(sessdata="your sessdata", csrf="your csrf")

# 初始化VideoInfo类
my_video = video.VideoInfo(aid="40473736", verify=verify)

# 获取视频信息
video_info = my_video.get_video_info()

# 转换成格式化JSON并打印
print(json.dumps(video_info, indent=4, ensure_ascii=False))


关于sessdata和csrf这两个数据我们需要在浏览器中查看自己的登陆数据:


参数名类型必须提供默认值说明
sessdatastrFalse"False"用于登录验证
csrfstrFalse"False"用于请求验证


具体查找流程如下:

  1. 地址栏旁边有个小锁(非HTTPS的话应该是个圆圈里头一个感叹号),点开,选择Cookies。


  1. 如图所示,找到SESSDATA的值就可以了,CSRF是bili_jct。



认证结果有以下4种情况:{"code": "代码", "message": "提示信息"}

code=-3:未提供SESSDATA,

code=-2:SESSDATA值有误,

code=-1:csrf值校验失败,

code=0:权限正常

可以通过对应的接口返回值来确认验证问题。


关于目前开放的接口,大家可以参考下面这个接口文档来进行开发:

https://github.com/Passkou/bilibili_api/blob/master/bilibili_api/src/api.json


目前为止开放的API只有Video(视频信息包含弹幕)、User(用户基本操作)和Dynamic(动态信息)模块,其他模块仍在后续开发中,喜欢的朋友可以去github上点个star哦~




大家如果觉得不错的话
欢迎大家「转发点赞在看」三连!

扫一扫下面的二维码
免费领取10G的Python学习资料哦~



“扫一扫,领取Python学习资料”

浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报