您的当前位置:首页 >IT科技类资讯 >Python3爬取B站视频弹幕 正文
时间:2025-11-05 05:02:10 来源:网络整理编辑:IT科技类资讯
需要准备的环境:一个B站账号,需要先登录,否则不能查看历史弹幕记录 联网的电脑和顺手的浏览器,我用的Chrome Python3环境以及request模块,安装使用命令,换

需要准备的视频环境:
一个B站账号,需要先登录,弹幕否则不能查看历史弹幕记录 联网的电脑和顺手的浏览器,我用的视频Chrome Python3环境以及request模块,安装使用命令,弹幕换源比较快:pip3 install request -i http://pypi.douban.com/simple
爬取步骤:
1.登录后打开需要爬取的视频视频页面,打开开发者工具台,弹幕Chrome可以使用F12快捷键,亿华云视频选择network监听请求
2.点击查看历史弹幕,弹幕获取请求

其中rolldate后面的视频数字表示该视频对应的弹幕号,返回的弹幕数据中timestamp表示弹幕日期,new表示数目
4.在查看历史弹幕中任选一天,视频查看,弹幕会发出新的视频请求
dmroll ,时间戳,网站模板弹幕弹幕号,视频表示获取该日期的弹幕,1507564800 表示2017/10/10 0:0:0

该请求返回xml数据
5.使用正则表达式获取所有弹幕消息,匹配模式
<d p=".*?">(.*?)</d>6.拼接字符串,将所有弹幕保存到本地文件即可
with open(content.txt, mode=w+, encoding=utf8) as f: f.write(content)7.参考代码如下,将弹幕按照日期保存为单个文件...因为太多了...
import requests import re import time """ 爬取哔哩哔哩视频弹幕信息""" # 2043618 是视频的弹幕标号,这个地址会返回时间列表 # https://www.bilibili.com/video/av1349282 url = https://comment.bilibili.com/rolldate,2043618 # 获取弹幕的id 2043618 video_id = url.split(,)[-1]print(video_id) # 获取json文件 html = requests.get(url) # print(html.json()) # 生成时间戳列表 time_list = [i[timestamp] for i in html.json()] # print(time_list) # 获取弹幕网址格式 https://comment.bilibili.com/dmroll,时间戳,弹幕号 # 弹幕内容,由于总弹幕量太大,将每个弹幕文件分别保存 for i in time_list: content = j = https://comment.bilibili.com/dmroll,,{1}.format(i, video_id) print(j) text = requests.get(j).text # 匹配弹幕内容 res = re.findall(<d p=".*?">(.*?)</d>, text) # 将时间戳转化为日期形式,需要把字符串转为整数 timeArray = time.localtime(int(i)) date_time = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) print(date_time) content += date_time + for k in res: content += k + content += file_path = txt/{}.txt.format(time.strftime("%Y_%m_%d", timeArray)) print(file_path) with open(file_path, mode=w+, encoding=utf8) as f: f.write(content)8.最终效果

轻松学会以戴尔电脑分区桌面教程(简明易懂,快速操作)2025-11-05 04:46
美团点评开源用 Vue.js 开发小程序的前端框架 mpvue2025-11-05 04:30
Google发布增强现实开发包ARCore 1.0:小米/华为首发2025-11-05 03:55
不要用Java的语法思维来写Kotlin2025-11-05 03:42
电脑深度待机唤醒教程(实现高效省电的电脑待机状态)2025-11-05 03:34
如何把范冰冰“送”到你家?双11晚会逆天技术首次公开2025-11-05 02:48
在本地开发中使用Kubernetes2025-11-05 02:40
关于CSS中display的32种写法2025-11-05 02:33
让你的电脑更潮!教你装配ARGB风扇(打造炫酷的电脑外观,为你的电脑升级护航)2025-11-05 02:19
为什么用Dubbo而不是Spring Cloud?基于支付场景的微服务高可用架构实战2025-11-05 02:16
电脑连接键盘驱动错误解决方法(解决电脑无法识别或使用键盘的问题)2025-11-05 04:55
企业应用集成之初学乍练2025-11-05 03:57
合格的配置中心应有的素养2025-11-05 03:48
Android开发者和设计师必须了解的颜色知识2025-11-05 03:20
苹果电脑wps更新域名错误问题解决方法(如何正确处理苹果电脑wps软件在更新过程中出现的域名错误)2025-11-05 03:14
十年Python大牛花了三天总结出来的python基础知识实例,超详细!2025-11-05 03:09
代码质量 – 代码的历史是代码未来的预言2025-11-05 03:06
【知识普及】前端人脸检测指南,快来看看2025-11-05 02:48
戴尔PR安装教程2025-11-05 02:47
600页阿里技术全景图曝光,程序员看完都沸腾了!2025-11-05 02:34