【python爬虫】爬取bilibili动态下面的评论
话不多说先放源代码(由于专栏没有makdown功能只能直接放啦)
作用我都标注在旁边了,蓝色字体的部分意味着你可以自行修改

pn前面的分号不是我加的,是b站自己加的,用的时候记得自己删掉


import re
import urllib.request
import time
time.sleep(2)
comment_list = [] #创建空列表
for i in range(115): #动态下面的评论总共有115页
url = 'https://api.bilibili.com/x/v2/reply?jsonp=jsonp&pn='+str(i)+'&type=17&oid=378081993930152813&sort=2' #动态评论的接口(请大家不要恶意攻击造成负荷)
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36' } #代理用户进行浏览器伪装
html = urllib.request.Request(url = url,headers = headers)
data = urllib.request.urlopen(html).read().decode('utf-8')
comment = re.findall(r'"content":{"message":"(.*?)"',data,re.S) #用正则表达式扒所需要的评论内容获取,只爬了评论内容
print(len(comment)) #输出每页有多少个回复
comment_list.extend(comment) #将评论内容一个个添加进空列表
print('评论已经爬取完成')
comment_txt = open('C:/Users/28051/Desktop/comment.txt','w',encoding='utf-8') #创建txt文本
for r in comment_list:
comment_txt.write(r) #写入txt文本
comment_txt.close()

得到文本内容后你就可以自己进行文本分析啦,比如做词频分析啊,情感分析等等
有什么问题评论或者私信我,我会在第一时间内回复哦
API解析
https://api.bilibili.com/x/v2/reply?jsonp=jsonp&pn=[]&type=17&oid=[]&sort=[]
第一个位置填数字,表示多少页
第二个位置填动态的oid
第三个位置,当填入0时,表示按照时间排序,当填入2时,表示按照热度排序

ps:纯技术分享,有引战的我可是会删评哦