用Python获取弹幕的两种方式(一种简单但量少,另一量大管饱)
前言
弹幕可以给观众一种“实时互动”的错觉,虽然不同弹幕的发送时间有所区别,但是其只会在视频中特定的一个时间点出现,因此在相同时刻发送的弹幕基本上也具有相同的主题,在参与评论时就会有与其他观众同时评论的错觉。
在国内的视频网站里,弹幕先是从A站被大家知道,随后B站发扬光大,导致现在全部视频平台和部分漫画平台都有弹幕功能,在欣赏动漫的同时,还能看一下大家的看法,也是一件非常有趣的事。
现在,弹幕文化成为了很多人看视频的习惯,今天就教大家如何获取弹幕的数据
环境
- python 3.8
- pycharm
- requests
- re
获取方式一: <简单, 但是弹幕很少>
先打开网站,找到你想要的视频,然后在网址bili前加个i,这样你就可以直接的找到弹幕的地址
复制地址打开,你就可以看到你想要的弹幕数据,写代码时直接请求这个地址就可以了

请求数据
url = 'https://api.bilibili.com/x/v1/dm/list.so?oid=967256583'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
print(response)

获取数据
response.encoding = 'utf-8'
print(response.text)

解析数据
content_list = re.findall('<d p=".*?">(.*?)</d>', response.text)
content = '\n'.join(content_list)
print(content_list)

保存数据
with open('方式一.txt', mode='a', encoding='utf-8') as f:f.write(content)

获取方式二: <复杂一点点, 弹幕比较多,按日期来>
先回到视频播放地址,打开开发者工具,选择其他日期天数,然后会出现带有当天日期的数据包,右边就是我们要找的url地址


也出现了乱码的弹幕数据

请求数据
url = f'https://api.bilibili.com/x/v2/dm/web/history/seg.so?type=1&oid=967256583&date=2023-02-23'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36','cookie': '加自己的'
}
response = requests.get(url=url, headers=headers)
解析数据
content_list = re.findall('[\u4e00-\u9fa5]+', response.text)
content = '\n'.join(content_list)
翻页
for page in range(1, 24):url = f'https://api.bilibili.com/x/v2/dm/web/history/seg.so?type=1&oid=967256583&date=2023-02-{page}'
保存数据
with open('方式二.txt', mode='a', encoding='utf-8') as f:f.write(content)
print(content_list)

很多同学抓包的时候发现,数据全是乱码,可能不是我们想要的。但是要很多东西要自己实践过之后才能知道的
相关文章:
用Python获取弹幕的两种方式(一种简单但量少,另一量大管饱)
前言 弹幕可以给观众一种“实时互动”的错觉,虽然不同弹幕的发送时间有所区别,但是其只会在视频中特定的一个时间点出现,因此在相同时刻发送的弹幕基本上也具有相同的主题,在参与评论时就会有与其他观众同时评论的错觉。 在国内…...
算法训练营 day55 动态规划 买卖股票问题系列3
算法训练营 day55 动态规划 买卖股票问题系列3 最佳买卖股票时机含冷冻期 309. 最佳买卖股票时机含冷冻期 - 力扣(LeetCode) 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下…...
电商共享购模式,消费增值返利,app开发
在当今以市场需求为主导的数字经济时代,消费者需求呈现出精细化管理和多元化的特性,目标市场日渐完善,另外在大数据技术迅速进步和运用的驱动下,总体行业的发展节奏感也在不断加速。因而,企业需要建立一套灵活多变的经…...
机房信息牌系统
产品特色: 无线低功耗安装简单,快速布置易于维护墨水屏显示,清晰,更环保信息后台推送,远程管理多模版样式随意制作多尺寸:4.2寸,7.5寸,10.2寸4.2寸7.5寸10.2寸标签特性:…...
金测评 手感更细腻的游戏手柄,双模加持兼容更出色,雷柏V600S上手
很多朋友周末都喜欢玩玩游戏放松一下,在家玩游戏的时候,PC是大家常用的平台,当然了,玩游戏的时候用键鼠的话,手感难免差点意思,还是要手柄才能获得更好的体验。我现在用的是雷柏V600S,这是一款支…...
Windows10 下测试 Intel SGX 功能
文章目录参考文献系统要求一、安装Open Enclave SDK 环境(一)什么是Open Enclave SDK(二)启动SGX功能方法一: BIOS启动方法二:软件方式启动(三)安装必要环境(1࿰…...
Tina_Linux_功耗管理_开发指南
Tina Linux 功耗管理开发指南 1 概述 1.1 编写目的 简要介绍tina 平台功耗管理机制,为关注功耗的开发者,维护者和测试者提供使用和配置参考。 1.2 适用范围 表1-1: 适用产品列表产品名称内核版本休眠类型参与功耗管理的协处理器R328Linux-4.9NormalS…...
golang编译dll失败问题解决
执行go build -buildmodec-shared -o exportgo.dll exportgo.go报类似如下错误/usr/lib/gcc/x86_64-pc-msys/9.1.0/../../../../x86_64-pc-msys/bin/ld: 找不到 -lmingwex/usr/lib/gcc/x86_64-pc-msys/9.1.0/../../../../x86_64-pc-msys/bin/ld: 找不到 -lmingw32安装tdm gcc m…...
Convolutional Neural Networks for Sentence Classification
摘要 We report on a series of experiments with convolutional neural networks (CNN) trained on top of pre-trained word vectors for sentence-level classification tasks. We show that a simple CNN with little hyperparameter tuning and static vectors achieves e…...
基于SpringBoot的共享汽车管理系统
文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…...
TCP三次握手
参考:4.1 TCP 三次握手与四次挥手面试题 | 小林coding TCP 头格式 我们先来看看 TCP 头的格式,标注颜色的表示与本文关联比较大的字段,其他字段不做详细阐述。 序列号:在建立连接时由计算机生成的随机数作为其初始值,…...
未来土地利用模拟FLUS模型
未来土地利用模拟(FutureLand-Use Simulation, FLUS)模型1 模型简介1.1 基于ANN 的适宜性概率计算1.2 基于自适应惯性机制的元胞自动机1.3 模拟精度评价参考流域 径流变化是 自然因素和 人为因素共同作用的结果,其中人为因素最为直接的方式就…...
压力传感器MPX5700D/MPX5700GP/MPX5700AP产品概述、特征
MPX5700系列压阻式换能器是最先进的单片硅压力传感器,可广泛用于各种应用,特别是采用A/D输入微控制器或微处理器的应用。这一获得专利的单元件传感器集合了高级微加工技术、薄膜金属化、双极工艺,能够提供精确的、与所施加压力成正比的高电平…...
taobao.trades.sold.query( 根据收件人信息查询交易单号 )
¥开放平台免费API必须用户授权聚石塔内调用 根据收件人信息查询交易单号。 公共参数 请求地址: HTTP地址 公共请求参数: 公共响应参数: 请求参数 请求示例 TaobaoClient client new DefaultTaobaoClient(url, appkey, secret); TradesSoldQueryRequest req new…...
【JavaWeb】JSON、AJAX(305-317)
305.JSON-什么是JSON JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON 采用完全独立于语言的文本格式,而且很多语言都提供了对 json 的支持(包括 C, C, C#, Java, JavaScript, Perl,…...
AI入场,搜索这个“营销枢纽”有新故事吗?
哪里有内容,哪里就有搜索。 以前,互联网离我们生活很远,传统搜索与用户的距离分割,只有当用户想要了解什么,才会去使用。 如今,互联网与真实世界密不可分,加之新技术、新平台的不断涌现…...
字节在职5年,一个测试工程师的坎坷之路
几年前进入到IT行业,现在发现学习软件测试的人越来越多,今天我想根据自己的行业经验给大家提一些建议。 跟其他行业相比,做软件测试的岗位确实算是高薪职业,我们那个时候起步的工资并不高,而看现在很多毕业的学生薪资都…...
什么是web框架?
什么是web框架? 我们解释一个概念的时候,通常会用到其他更多的概念去解释它,如果听的人不理解解释它的概念,那么这个解释是失败的,因此首先要回答一下解释web框架中所用到的概念。 回答这个问题前,首先需…...
说一说关系数据库中的范式建模
面试中可能会被问到,来回顾总结一下,参考《数据库系统第五版》(王珊/萨师煊) 范式(normal form),我的理解是用来规范关系数据库中实体如何划分以及实体间如何建立联系来保持数据完整性的一种指导思想,目的就…...
Mysql是怎样运行的之Inno页介绍
一、InnoDB介绍 InnoDB是一个将表中的数据存储到磁盘上的存储引擎,所以即使关机后重启我们的数据还是存在的。而真正处理数据的过程是发生在内存中的,所以需要把磁盘中的数据加载到内存中,如果是处理写入或修改请求的话,还需要把内…...
MoE模型中‘2%激活率’的原理、陷阱与工程实践
1. 这不是“参数越多越好”的简单故事:GPT-4参数量与激活机制的真实逻辑你可能已经看到过那条刷屏的推文:“GPT-4有1.8万亿参数,但每次只用其中2%。”这句话像一颗小石子,砸进了AI圈的池塘,激起一圈又一圈的涟漪——有…...
对抗机器学习实战:从模型脆弱性到工业级鲁棒性工程
1. 项目概述:当模型开始“看走眼”,我们该怎么办?你有没有遇到过这样的情况:一张清晰的猫图,被模型坚定地判为“烤面包”;一段语音指令,加了点人耳几乎听不出的杂音,智能音箱就把它理…...
SAP HR数据维护避坑指南:HR_INFOTYPE_OPERATION函数调用前后的缓存与锁管理详解
SAP HR数据维护避坑指南:HR_INFOTYPE_OPERATION函数调用前后的缓存与锁管理详解 在SAP HR模块的日常开发与运维中,数据维护操作看似简单却暗藏玄机。许多开发者在调用HR_INFOTYPE_OPERATION函数进行人事信息类型操作时,常常忽略前后必要的缓存…...
量子纠错码与硬件定制逻辑门的优化实现
1. 量子纠错码与硬件定制逻辑门概述量子纠错码(QECC)是容错量子计算的核心组件,其核心思想是通过编码将量子信息分布在多个物理量子比特上,利用稳定子(stabilizer)测量来检测和纠正错误。在众多QECC中&…...
向量化映射框架优化图着色问题的FPGA实现
1. 问题背景与核心挑战图着色问题作为组合优化领域的经典NP难问题,在集成电路布局分解、寄存器分配、逻辑最小化等场景中具有广泛应用。传统Ising机采用独热编码(one-hot encoding)方案,将每个节点的q种颜色状态映射为q个物理比特…...
我踩了N多劣质工具坑从嫌弃到真香,2026这款语音生成软件真后悔没早用
上周刚下班被leader留下来整理2小时项目评审会纪要,对着录音逐句暂停记,熬到八点半还错漏了三个核心需求;上个月做行业专家访谈,3小时录音来回听,耳朵疼得发胀还漏了嘉宾的核心观点;报了线上的产品进阶课&a…...
modelzoo:昇腾 NPU 的“模型仓库”
modelzoo:昇腾 NPU 的“模型仓库” 之前帮朋友看模型训练的代码,发现他自己手写了很多模型(ResNet50/BERT/LLaMA2 等)——光写模型定义就写了 5,000 行,而且还不一定对。 我告诉他:不用手写,用 …...
AI 时代,C# 程序员学 Python 到底值不值?| C#转Python
关键词:C#转Python、Python入门、AI时代、C#程序员、Python学习刷技术社区的时候,你一定见过这种标题:"Python 已成 AI 时代唯一语言""C# 已死,.NET 没未来""不会 Python 的程序员正在被淘汰"说实话…...
红黑树完全指南:从五条性质到完整插入删除实现
引言在前面的树系列中,我们学习了二叉搜索树(BST)和 AVL 树。AVL 树通过严格的平衡条件(|BF| ≤ 1)保证 O(log n) 的性能,但代价是删除操作可能触发 O(log n) 次旋转。红黑树(Red-Black Tree&am…...
进程管理器大横评:从 PM2 到 Systemd 的选型与实战
一、为什么需要进程管理器? 在服务器运维的世界里,“进程管理器”(Process Manager)是一个看似基础却极其关键的角色。它的核心使命可以概括为:确保你的应用程序在服务器重启、进程崩溃、资源耗尽等意外情况下…...
