b站一些常用的数据接口
最近在准备毕业论文的时候需要爬取b站的数据,然后就找了一些b站的一些数据接口
视频基本信息:https://api.bilibili.com/x/space/arc/search?mid=517327498&ps=30&tid=0&pn=1&keywo
mid是up主的uid,pn是页数
这个接口里面有标题,播放量、发布日期等等
观众反馈:https://api.bilibili.com/x/web-interface/archive/stat?aid=691045302
aid号就是av号,也可以根据上面的视频基本信息接口爬取到
这个接口里面有视频的四连数(点赞、投币、收藏、转发)
弹幕接口:https://comment.bilibili.com/917235471.xml
这个弹幕接口的数据并不全,弹幕接口标红的是cid号,需要aid号去爬取,下面是爬取cid的接口。
cid:https://api.bilibili.com/x/player/pagelist?aid=691045302&jsonp=jsonp
根据aid号去爬取cid
评论接口:https://api.bilibili.com/x/v2/reply?pn=1&type=1&oid=691045302&sort=2
pn是页数,oid是aid号,sort = 2意思是按照热度排序的
由于B站的评论是下拉刷新,并不是正常的翻页,所以在爬取的时候不能用range()函数设置具体的页数,然后up找到一个方法,如果页数已经超过最大,接口里,data字典里的page字典里的count的值成为0,所以可以设置一个if函数,if text.get('data').get('page').get("count") == 0,就break掉。
爬取时的问题:up在爬取的时候有时会显示-412,那个等5分钟就会恢复,可以设置一个爬取间隔,up设置的是0.5秒,time.sleep(0.5)就ok了。
常见的一些英文:

注:身为一个很菜的up说了一下自己的思路,以及一些up自己找的接口,如果有更好的方法欢迎分享。