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

举报
Python爱好者 发表于 2020/12/29 00:57:22 2020/12/29
【摘要】 前几天在github上看到有意思的项目 —— bilibili-api,作者是个二次元的宅男Passkou。以下是该项目的地址: https://github.com/Passkou/bilibili_api 项目可以直接使用pip直接进行安装: pip install bilibili_api 之后在代码中直接 import bilibili_api 就可...

前几天在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
  

   
  1. # 设置验证
  2. verify = Verify(sessdata="your sessdata", csrf="your csrf")
  3. # 初始化VideoInfo类
  4. my_video = video.VideoInfo(aid="40473736", verify=verify)
  5. # 获取视频信息
  6. video_info = my_video.get_video_info()
  7. # 转换成格式化JSON并打印
  8. print(json.dumps(video_info, indent=4, ensure_ascii=False))

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

参数名 类型 必须提供 默认值 说明
sessdata str False "False" 用于登录验证
csrf str False "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哦~


   
  1. 大家如果觉得不错的话
  2. 欢迎大家「转发」「点赞」「在看」三连!
  3. 扫一扫下面的二维码
  4. 免费领取10G的Python学习资料哦~
  5. “扫一扫,领取Python学习资料”

文章来源: blog.csdn.net,作者:敲代码的灰太狼,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/tongtongjing1765/article/details/107704224

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。