爬虫怎样抓取b站评论,弹幕等内容
import requestsimport reimport osimport sysimport json# B站API详情 https://github.com/Vespa314/bilibili-api/blob/master/api.md# 视频AV号列表aid_list = # 评论用户及其信息info_list = # 获取指定UP的所有视频的AV号 mid:用户编号 size:单次拉取数目 page:页数def getAllAVList(mid, size, page): # 获取UP主视频列表 for n in range(1,page+1): url = "http://space.bilibili.com/ajax/member/getSubmitVideos?mid=" + \\ str(mid) + "\u0026amp;pagesize=" + str(size) + "\u0026amp;page=" + str(n) r = requests.get(url) text = r.text json_text = json.loads(text) # 遍历JSON格式信息,获取视频aid for item in json_text: aid_list.append(item) print(aid_list)# 获取一个AV号视频下所有评论def getAllCommentList(item): url = "http://api.bilibili.com/x/reply?type=1\u0026amp;oid=" + str(item) + "\u0026amp;pn=1\u0026amp;nohot=1\u0026amp;sort=0" r = requests.get(url) numtext = r.text json_text = json.loads(numtext) commentsNum = json_text page = commentsNum // 20 + 1 for n in range(1,page): url = "https://api.bilibili.com/x/v2/reply?jsonp=jsonp\u0026amp;pn="+str(n)+"\u0026amp;type=1\u0026amp;oid="+str(item)+"\u0026amp;sort=1\u0026amp;nohot=1" req = requests.get(url) text = req.text json_text_list = json.loads(text) for i in json_text_list: info_list.append(,i]) # print(info_list)# 保存评论文件为txtdef saveTxt(filename,filecontent): filename = str(filename) + ".txt" for content in filecontent: with open(filename, "a", encoding=\u0026#39;utf-8\u0026#39;) as txt: txt.write(content +\u0026#39; \u0026#39;+content.replace(\u0026#39;\\u0026#39;,\u0026#39;\u0026#39;) + \u0026#39;\\\u0026#39;) print("文件写入中")if __name__ == "__main__": # 爬取逆风笑 只爬取第一页的第一个 getAllAVList(2019740,1,1) for item in aid_list: info_list.clear() getAllCommentList(item) saveTxt(item,info_list)
数据接口可以参考Vespa314的github
Vespa314/bilibili-api推荐工具
chorme的F12调试模式和chorme应用POSTMAN
■网友
弹幕的爬虫之前我写过,你可以参考下-\u0026gt; LewisTian/Crawler
看了下评论其实也不麻烦,善用Chrome
API如下,改变av号即可得到不同视频的评论,pn是页数https://api.bilibili.com/x/v2/reply?jsonp=jsonp\u0026amp;pn=1\u0026amp;type=1\u0026amp;oid={av}\u0026amp;sort=0
随便找的一个视频,一条评论以及对应api得到的数据
原视频评论
API得到的评论最后推荐自己另一个爬虫,爬取了b站绘画区60w条数据和爬取up主相簿 LewisTian/bilibili-album
■网友
我也是想抓B站弹幕玩玩才搜到这个问题的
1.先关闭浏览器的js功能,这样打开视频页面以后看到的页面和你用爬虫请求到的页面是一样的。然后查看源码。用xpath查找到这个script标签:
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- 怎样评价类似前橙会、百老汇、南极圈这样类型的离职帮抱团,对企业的积极意义和消极意义