需要准备的环境:一个B站账号,需要先登录,否则无法查看历史弹幕记录联网电脑和浏览器,我用的是ChromePython3环境和request模块,安装使用命令,改源更快:pip3installrequest-ihttp://pypi.douban.com/简单爬取步骤:1、登录后,打开要爬取的视频页面,打开开发者工具控制台,使用F12快捷键在Chrome中键入选择网络监控请求2.点击查看历史弹幕,获取请求。rolldate后面的数字表示该视频对应的弹幕编号。返回数据中,timestamp表示弹幕日期,new表示编号。请求dmroll,时间戳,弹幕号,表示获取该日期的弹幕,1507564800表示2017/10/100:0:0,请求返回xml数据5.使用正则表达式获取所有弹幕,匹配模式'(.*?)'6.使用open('content.txt',mode='w+',encoding='utf8')asf:f.write(content)7连接字符串并将所有弹幕保存到本地文件。参考代码如下,根据日期将弹幕保存为单个文件...因为太多...importrequestsimportreimporttime"""抓取bilibili视频弹幕课程信息"""#2043618为弹幕标签视频,这个地址会返回时间列表#https://www.bilibili.com/video/av1349282url='https://comment.bilibili.com/rolldate,2043618'#getid2043618video_id=url.split(',')[-1]print(video_id)#获取json文件html=requests.get(url)#print(html.json())#生成时间戳列表time_list=[i['t??imestamp']foriinhtml.json()]#print(time_list)#获取弹幕URL格式'https://comment.bilibili.com/dmroll,时间戳,弹幕数'#弹幕内容,因为总弹幕量太大,单独保存每个弹幕文件foriintime_list:content=''j='https://comment.bilibili.com/dmroll,{0},{1}'.format(i,video_id)print(j)text=requests.get(j).text#匹配弹幕内容res=re.findall('(.*?)',text)#把时间戳转成日期格式,需要把字符串转成整数timeArray=time.localtime(int(i))date_time=time.strftime("%Y-%m-%d%H:%M:%S",timeArray)print(date_time)content+=date_time+''forkinres:content+=k+''content+=''file_path='txt/{}。txt'.format(time.strftime("%Y_%m_%d",timeArray))print(file_path)withopen(file_path,mode='w+',encoding='utf8')asf:f.write(内容)8.最终效果