Python怎么爬取B站视频弹幕
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"Python怎么爬取B站视频弹幕",在日常操作中,相信很多人在Python怎么爬取B站视频弹幕问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Pytho
千家信息网最后更新 2026年11月04日Python怎么爬取B站视频弹幕
这篇文章主要介绍"Python怎么爬取B站视频弹幕",在日常操作中,相信很多人在Python怎么爬取B站视频弹幕问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python怎么爬取B站视频弹幕"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
基本开发环境
Python 3.6
Pycharm
相关模块的使用
requests
re
安装Python并添加到环境变量,pip安装需要的相关模块即可。
一、明确需求
找一个弹幕比较多的视频爬取
二、网页数据分析
以前的B站弹幕视频,点击查看历史的弹幕,会给你返回一个json数据,包含了所有的弹幕内容。
现在点击历史弹幕数据,同样是有数据加载出来,但是里面的都是乱码了。
请求这个链接还是会得到想要的数据内容。
只需要使用正则表达匹配中文字符就可以匹配出来
三、解析数据并多页爬取
弹幕分页是根据日期来的,当点击 2021-01-01 的使用,返回的给我的数据并不是弹幕数据,而是所有的日期。
那么看到这里有人就会问了,那我想要爬取 2021-01-01 的弹幕数据怎么办?
这两个的url地址是不一样的,seg.so 才是弹幕数据url地址。
import requestsimport redef get_response(html_url): headers = { 'cookie': '你自己的cookie', 'origin': 'https://www.bilibili.com', 'referer': 'https://www.bilibili.com/video/BV19E41197Kc', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', } response = requests.get(url=html_url, headers=headers) return responsedef get_date(html_url): response = get_response(html_url) json_data = response.json() date = json_data['data'] print(date) return date if __name__ == '__main__': one_url = 'https://api.bilibili.com/x/v2/dm/history/index?type=1&oid=120004475&month=2021-01' get_date(one_url)返回的数据是json数据,根据字典键值对取值就可以得到相关数据。
四、保存数据(数据持久化)
def main(html_url): data = get_date(html_url) for date in data: url = f'https://api.bilibili.com/x/v2/dm/web/history/seg.so?type=1&oid=120004475&date={date}' html_data = get_response(url).text result = re.findall(".*?([\u4E00-\u9FA5]+).*?", html_data) for i in result: with open('B站弹幕.txt', mode='a', encoding='utf-8') as f: f.write(i) f.write('\n')五、完整代码
import requestsimport redef get_response(html_url): headers = { 'cookie': '你自己的cookie', 'origin': 'https://www.bilibili.com', 'referer': 'https://www.bilibili.com/video/BV19E41197Kc', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', } response = requests.get(url=html_url, headers=headers) return responsedef get_date(html_url): response = get_response(html_url) json_data = response.json() date = json_data['data'] print(date) return datedef save(content): for i in content: with open('B站弹幕.txt', mode='a', encoding='utf-8') as f: f.write(i) f.write('\n') print(i)def main(html_url): data = get_date(html_url) for date in data: url = f'https://api.bilibili.com/x/v2/dm/web/history/seg.so?type=1&oid=120004475&date={date}' html_data = get_response(url).text result = re.findall(".*?([\u4E00-\u9FA5]+).*?", html_data) save(result)if __name__ == '__main__': one_url = 'https://api.bilibili.com/x/v2/dm/history/index?type=1&oid=120004475&month=2021-01' main(one_url)到此,关于"Python怎么爬取B站视频弹幕"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
数据
视频
学习
内容
历史
地址
日期
更多
模块
环境
帮助
实用
接下来
两个
乱码
代码
变量
字典
字符
怎么办
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网与科技
博彦科技互联网金融
广州大一互联网络科技有限公司
互联网金融监管科技数据
互联网科技垄断
美国互联网科技巨头监管
亿策互联网科技
鑫亿盛互联网科技
有木互联网科技
时间互联网络科技
上海万想互联网科技
左右互联网络科技
互联网科技创新企业排名
互联网时代科技改变生活
河南猎农互联网科技有限公司
宜昌元轩互联网科技有限公司
深圳市优智互联网科技有限公司
明优互联网科技有限公司
烟台灵鸽互联网科技有限公司
互联网领先科技活动
百单网互联网科技有限公司
上海睿民互联网科技有限公司
互联网未来科技
金融科技与互联网金融相同和不同
如何创新互联网科技
四川慕妮娅互联网科技有限公司
保山互联网科技靠谱吗
互联网科技创新方面的资料
互联网科技自媒体灵感
互联网科技快速发展优美句子