需要先登录,否则不能查看历史记录
点击历史弹幕,有两个请求


包括弹幕id,返回的是所有的有弹幕的日期,格式为json

将timestamp提取出来
拼接弹幕url,点击指定日期,显示弹幕的时候有dmroll请求,获取弹幕信息

返回xml格式文件

使用re获取所有弹幕即可
import requests """ 爬取哔哩哔哩视频弹幕信息 """ # 347683 是视频的弹幕标号,这个地址会返回时间列表 url = 'https://comment.bilibili.com/rolldate,347683' # 弹幕的id 347683 video_id = url.split(',')[-1] # 获取json文件 html = requests.get(url) print(html.json()) # 时间戳列表 time_list = [i['timestamp'] for i in html.json()][:20] print(time_list[:10]) # 时间戳网址 dm_rool = 'https://comment.bilibili.com/dmroll,1504368000,347683' content = '' for i in time_list: j = 'https://comment.bilibili.com/dmroll,%s,347683' % i print(j) text = requests.get(j).text # print(text) import re res = re.findall('<d p=".*?">(.*?)</d>', text) for i in res: print(i) content += i + '\n' with open('content.txt', mode='w+', encoding='utf8') as f: f.write(content)