python3网络爬虫--最新爬取B站视频弹幕 so文件




import requests
import re
import os
 
def download_video_danmaku(video_id, page=1, output_dir='danmakus'):
    """
    下载B站视频弹幕字幕文件(so文件)
    :param video_id: B站视频ID
    :param page: 弹幕分页
    :param output_dir: 输出文件夹
    """
    # 确保输出目录存在
    os.makedirs(output_dir, exist_ok=True)
    
    # 弹幕API URL
    danmaku_api = f'https://api.bilibili.com/x/v1/dm/list.so?oid={video_id}&type=1&pn={page}&format=json'
    
    # 发送请求获取弹幕数据
    response = requests.get(danmaku_api)
    if response.status_code == 200:
        data = response.json()
        if data['code'] == 0:
            # 遍历弹幕数据并下载
            for item in data['data']['list']:
                content = item['content'].replace('<br>', '\n')  # 替换HTML换行标签
                file_name = f"{video_id}-{item['oid']}-{item['id']}.so"
                file_path = os.path.join(output_dir, file_name)
                with open(file_path, 'w', encoding='utf-8') as f:
                    f.write(content)
                    print(f"下载弹幕文件: {file_name}")
        else:
            print(f"获取弹幕失败: {data['message']}")
    else:
        print(f"请求状态码异常: {response.status_code}")
 
# 使用示例
# 视频ID通常是URL的一部分,例如 https://www.bilibili.com/video/BV1X4411V75C 的ID为 4411V75C
video_id = '4411V75C'  # 替换为目标视频ID
download_video_danmaku(video_id, output_dir='bilibili_danmakus')

这段代码定义了一个下载B站视频弹幕字幕文件的函数download_video_danmaku。函数接收视频ID、页码和输出目录作为参数,并尝试下载弹幕内容到指定的文件夹中,每个弹幕文件都是一个.so文件。函数使用了requests库来发送HTTP请求,并解析JSON响应数据。如果下载成功,弹幕文件会被保存到本地,并打印文件名。

最后修改于:2024年08月10日 13:34

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日