脚本地址:
提要
适用于: 任意 B 站视频弹幕 XML 文件下载. 如不能, 请提交 issues 联系我. 支持指定屏蔽词.
1 秒即可完成自动解析任意 B 站视频的视频弹幕 XML 文件请求链接, 并下载.
使用方法
- 克隆或下载项目代码。
- 安装依赖:
pip install requests lxml, 或者克隆项目代码后pip install -r requirements.txt
- 脚本顶部: 指定常量
FOLDER_PATH, 脚本默认为E:\Gazer\BilibiliGaze\data, 作为保存 XML 文件路径. 如指定屏蔽词, 会生成两份 XML 文件, 文件结构见下. - 主函数处: 指定 XML 文件名
file_name - 主函数处: 指定
url, 要下载弹幕的视频 URL - 主函数处: (可选) 指定
words弹幕屏蔽词
文件保存结构:
BilibiliGaze
└── data
├── processed
│ └── comment
│ └── clean_dan_mu.xml
└── raw
└── comment
└── dan_mu.xml
代码结构
get_url从 HTML 中的window.__playinfo__提取解析视频的 cid 参数get_xml接收get_url的返回 cid, 构造 XML 页面链接write_xml写入保存未修改的弹幕 XML 文件block_shits如指定了屏蔽词, 另保存一份清理后的弹幕 XML 文件
cid 的获取
使用脚本自动获取 B 站视频 cid 的思路一般是使用 bs4 来解析:
示例 (Python + requests + BeautifulSoup):
import requests
from bs4 import BeautifulSoup
import re
def get_cid_from_html(url):
"""从 B 站视频页面 HTML 源代码中提取 cid"""
try:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
response = requests.get(url, headers=headers)
response.raise_for_status(


2330

被折叠的 条评论
为什么被折叠?



