基于python和网上提供的API接口实现的一些小程序,用于获取B站的一些信息,练手之作,都是phton源码,仅供学习参考
就是简单的请求API接口,爬取到的数据只是服务器响应请求时的数据,如果需要分析目标视频的播放量随时间的变化情况,那么需要设置定时任务,实现定时爬取
爬取到的数据只是服务器响应请求时的数据,如果需要分析目标用户的粉丝数量随时间的变化情况,那么只能自己定时爬取,然后汇总这些数据 另外由于B站官方本身在服务端的限制,只可以查看自己的粉丝前1000名,查看其他用户时仅可查看前100名
爬取指定视频的所有实时弹幕(并非所有弹幕,因为历史弹幕要使用别的接口爬取,我这里就不写了,麻烦),并且给出弹幕实际发送者的UID,并保存到excel中 弹幕需要解析,需要将官方的.proto编译为.py再使用,我已经本地编译好了,就是文件夹中的dm_pb2.py 另外弹幕发送者的UID是加密的,需要反向解密,就是用文件夹里的midhash2uid.py
思路是请求一个API(这里称呼为A),爬取第一页,然后针对每一条评论,判断是否有回复,有的话就再调取另一个API(这里称呼为B)获取这条评论的所有回复 接着爬取下一条评论,直到本页的评论获取完毕,再去获取下一页,循环重复 该代码爬取时,依据B站评论区“最热”排名进行爬取 接口A是一次请求就能获取一整页的评论,所以请求这个接口的次数比较少,但是如果遇到评论数比较多的视频,接口B频繁请求,就会导致IP被B站暂时封禁,建议用上代理池