写点什么

深入解析:使用 Python 爬取 Bilibili 视频的完整指南

作者:tbapi
  • 2025-09-29
    江西
  • 本文字数:854 字

    阅读完需:约 3 分钟

深入解析:使用Python爬取Bilibili视频的完整指南

Bilibili,作为一个以 ACG(动画、漫画、游戏)文化为基础的二次元视频平台,拥有海量的视频资源供用户观看。许多开发者和数据分析师对 Bilibili 上的视频信息感兴趣,希望能够自动化地抓取这些数据,以便进行分析或个人项目的使用。最近好多小伙伴私信问怎么用 Python 爬取 B 站视频数据(特别是弹幕和评论数据),今天就给大家安排上!不过要提前说明三点:

1. 本文仅供学习交流(划重点)

2. 实际应用请遵守 B 站 robots.txt 协议

3. 建议使用代理 IP 避免被封(后面会教具体方法)

一、接口概述

B 站提供了多个公开 API 接口用于获取视频数据,主要包括:

1.视频基础信息接口:可获取标题、播放量、弹幕数等。

2.热门榜单接口:获取全站热门视频。

3.搜索接口:支持关键词搜索视频。

4.UP 主视频列表接口:获取指定 UP 主的投稿视频。

5.评论获取接口:根据视频 id 获取评论。

6.前往体验 API:c0b.cc/R4rbK2 。

二、注意事项

1.需遵守 B 站 robots.txt 协议,建议使用代理 IP 避免封禁。

2.部分接口需要 WBI 签名验证(含 img_key 和 sub_key 参数)。

3.请求头需包含有效 User-Agent,否则可能返回 412 错误。

4.频率限制通常为 100 次/分钟,超出会返回-799 错误码。

三、Python 请求示例

# coding:utf-8"""Compatible for python2.x and python3.xrequirement: pip install requests"""from __future__ import print_functionimport requests# 配置参数 API_URL = "c0b.cc/R4rbK2 wechatid:Taobaoapi2014 " app_key = "YOUR_APP_KEY" q = "视频ID" # 视频ID# 请求示例 url 默认请求参数已经做URL编码url = "bili/item_get_video/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&item_id=视频ID"headers = {    "Accept-Encoding": "gzip",    "Connection": "close"}if __name__ == "__main__":    r = requests.get(url, headers=headers)    json_obj = r.json()    print(json_obj)
复制代码

代码功能说明:

1.通过 B 站官方 API 获取视频基础信息。

2.包含必要的请求头(User-Agent 和 Referer)。

3.返回结构化数据(标题、UP 主、播放量等关键指标)。

4.错误处理机制确保程序健壮性。

用户头像

tbapi

关注

记录日常代码积累,交流Taobaoapi2014 2023-07-06 加入

记录日常代码积累,交流Taobaoapi2014,分享每一份成功的喜悦。

评论

发布
暂无评论
深入解析:使用Python爬取Bilibili视频的完整指南_B站视频数据采集_tbapi_InfoQ写作社区