b站自动评论脚本

我们可以搜索指定关键词的视频进行批量评论
需要注意的是,不能直接在控制台元素中直接复制xpath路径,网站显示的是后期渲染上去的,与我们爬取网站的源码是不一样的
然后我们需要对得到的bvlist(bv号)在加工处理一下转化为oid
获取到oid后找到评论api,我就懒得上图了,把源码附上了

我把爬bv的代码放下面

etre=etree.HTML(response)
bvs=etre.xpath('//li[@class="video-item matrix"]/a/@href')
for bv in bvs:
i+=1
bvlist=bv.split('/')[-1].split("?")[0]
#获取aid/oid
url=f'https://api.bilibili.com/x/web-interface/view?bvid={bvlist}'
bq=requests.get(url=url,headers=cheader).json()
oid=bq['data']['aid']
yield oid
for t in oid:
curl = "https://api.bilibili.com/x/v2/reply/add"
params = {
"csrf": "9986160u3t9f9d740246bca4fb"
}
data={
"oid": t,
"type": "1",
"message": "有茉子,我来辣Ciallo~(∠・ω< )⌒☆",
"plat": "1",
"at_name_to_mid": "{}",
"pictures": "[]",
"has_vote_option": "true"
}
response = requests.post(url=curl, headers=cheader, cookies=cookies, params=params, data=data)
print(response.text)

到这里基本上就大功告成啦,不过需要注意的是阿b的cookie和csrf有效期似乎只有一个小时左右 其实我也不太清楚,过期了就得重新换

注意此教程实现的只是基本功能,还有需要功能需要进一步的完善,评论的时间需要控制,评论的内容可以进行随机替换,自动获取csrf...