B 站(Bilibili,哔哩哔哩)已经从二次元社区长成了中文互联网最重要的视频内容池之一:测评、教程、游戏、知识区、品牌种草,几乎什么都有。对做内容研究、品牌监测、AI 语料、舆情分析的团队来说,B 站的视频元数据和评论区是一座金矿。但它的搜索接口和评论接口都带签名校验(WBI 签名),自己写爬虫光是搞定签名就够喝一壶,更别说还要处理分页、限流和反爬。
这篇文章介绍两个开箱即用的 Apify 采集器:Bilibili Video Search(视频搜索) 和 Bilibili Video Comments(评论采集) 。一个按关键词批量拉视频元数据,一个按视频抓评论区,都返回结构化 JSON,云端运行、自动处理签名与分页。下面给出字段说明、可直接复制的代码、计费明细和常见问题。
1. 痛点:B 站数据值得抓,但不好抓
-
WBI 签名校验。 B 站的搜索和评论接口都要求动态计算
w_rid签名参数,签名算法会变,自己维护成本高。 - 分页与限流。 评论区层级深、分页多,拉多了容易被限流。
- 字段零散。 播放、点赞、弹幕、收藏、投币散落在不同字段,还要自己清洗对齐。
- 规模化难。 想批量监测上百个关键词或视频,手写脚本很快就维护不动。
2. 两个采集器:搜索 + 评论
Bilibili Video Search —— 按关键词抓视频元数据。 输入一个关键词,返回该关键词下的视频列表(BV 号、标题、UP 主、播放/点赞/弹幕/收藏数、时长、发布日期、封面等)。可选加购两项增值处理:对标题与简介做情感打分、从简介中提取创作者社媒账号。
核心参数:keyword(必填)、max_results(默认 30)、addonSentimentScored(情感分析,按条加价)、addonSocialHandlesExtracted(社媒账号提取,按条加价)。
Bilibili Video Comments —— 按视频抓评论区。 传入一个或多个视频(BV 号或链接),返回评论文本、作者、等级、点赞、回复数、时间戳等。通过当前的 WBI 签名评论接口抓取,可设置每个视频最多抓多少条,并可选对用户匿名化处理。
核心参数:videos(BV 号或 URL 列表)、max_comments_per_video(默认 100)、anonymize_users(匿名化,默认关闭)、proxyConfiguration(默认住宅代理)。
3. 适合谁用
- 内容 / 选题研究: 按关键词找出某品类下播放与互动最高的视频,反推选题方向。
- 品牌 / 市场监测: 追踪品牌或产品相关视频的传播与评论区口碑。
- AI 语料团队: 采集中文视频元数据与真实评论文本,构建中文语料库。
- 舆情 / 社媒分析: 把评论区文本接入情感分析与话题聚类管道。
4. 输出字段示例
视频搜索(Video Search)每条视频返回:
| 字段 | 含义 |
|---|---|
bvid / aid / url
|
BV 号 / AV 号 / 视频链接 |
title / description
|
标题 / 简介 |
author / mid
|
UP 主昵称 / UP 主 ID |
play_count / likes / danmaku_count / favorites
|
播放 / 点赞 / 弹幕 / 收藏数 |
duration / pub_date
|
时长 / 发布日期 |
tag / thumbnail
|
标签 / 封面图 |
keyword / scraped_at
|
来源关键词 / 抓取时间 |
评论采集(Video Comments)每条评论返回:
| 字段 | 含义 |
|---|---|
bvid / aid / rpid
|
视频 BV 号 / AV 号 / 评论 ID |
text |
评论内容 |
author / user_mid / user_level
|
评论者昵称 / ID / 等级 |
likes / reply_count / is_top
|
点赞数 / 回复数 / 是否置顶 |
timestamp / ctime / scraped_at
|
发布时间 / 原始时间戳 / 抓取时间 |
评论记录的 JSON 大致长这样:
{
"bvid": "BV1xx411c7mu",
"rpid": 123456789,
"text": "讲得很清楚,已三连",
"author": "某用户",
"user_level": 5,
"likes": 328,
"reply_count": 12,
"is_top": false,
"timestamp": "2026-06-10T09:30:00Z",
"scraped_at": "2026-06-13T00:00:00Z"
}
5. 典型使用场景
-
爆款选题反推: 用搜索按
play_count/likes排序,找出某关键词下表现最好的视频与 UP 主。 - 评论区舆情: 抓取目标视频评论,结合情感分析看观众真实反馈。
- 品牌投放复盘: 监测品牌合作视频的播放、互动与评论口碑,量化投放效果。
- 中文语料构建: 批量采集视频元数据 + 评论文本,作为中文 NLP 训练素材。
6. 在 Apify 上运行
采集器地址:Bilibili Video Search · Bilibili Video Comments。注册即送 $5 免费额度 (通过此链接注册)。
关键词搜索 + 抓取该视频评论:
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
# 1) 按关键词搜索视频
search = client.actor("nexgendata/bilibili-video-search").call(run_input={
"keyword": "机器学习",
"max_results": 30,
})
videos = list(client.dataset(search["defaultDatasetId"]).iterate_items())
top = sorted(videos, key=lambda v: v.get("play_count", 0), reverse=True)[0]
print("最高播放:", top["title"], top["play_count"], top["bvid"])
# 2) 抓取这个视频的评论
comments = client.actor("nexgendata/bilibili-video-comments").call(run_input={
"videos": [top["bvid"]],
"max_comments_per_video": 200,
})
for c in client.dataset(comments["defaultDatasetId"]).iterate_items():
print(c["likes"], c["text"])
计费透明:到底多少钱
两个采集器都用按事件计费(Pay-Per-Event) ,没有月费:
- 视频搜索: 启动 $0.005 + 每条视频 $0.02;可选加购:情感分析 +$0.02/条、社媒账号提取 +$0.10/条。
- 评论采集: 启动 $0.005 + 每条评论 $0.015。
例:搜 30 个视频约 $0.6;抓 200 条评论约 $3。注册赠送的 $5 免费额度足够先把两个工具都跑通。
关于签名与代理
评论接口走当前的 WBI 签名 评论 API,采集器自动计算签名参数;评论采集默认通过 Apify 的住宅代理 出口,整套流程跑在 Apify 云端,无需你自己维护签名或代理。
7. 相关 Actor:搭建完整的中国社媒数据栈
把 B 站和其它中国社媒、电商、财经数据源组合起来,输出统一的结构化 JSON:
- 小红书采集 RedNote (Xiaohongshu) Scraper —— 热门 / 搜索 / 话题 / 达人笔记(另见我们的小红书数据采集实战)
- 微博热搜追踪 Weibo Hot Search Tracker —— 实时微博热搜榜
- 中国趋势汇总 China Trends Tracker —— 微博/百度/抖音趋势一站聚合
- 东方财富 A 股选股 Eastmoney China A-Shares Screener —— 沪深全 A 股行情与基本面
8. 常见问题
需要登录 B 站账号吗?
不需要。搜索与评论采集都基于公开接口,无需账号或 Cookie。
数据是实时的吗?
是。采集器在运行那一刻实时拉取,播放、点赞、评论数都是当时的最新值。
WBI 签名要自己处理吗?
不用。评论采集器内置当前的 WBI 签名计算,签名参数由采集器自动生成。
一次能抓多少?
搜索可设 max_results;评论可对每个视频设 max_comments_per_video(默认 100),并支持一次传入多个视频。
能保护评论者隐私吗?
可以。评论采集提供 anonymize_users 选项,对用户信息做匿名化处理;采集内容仅限公开评论数据。
输出能直接导入 pandas 或 Excel 吗?
可以。结果存为 Apify 数据集,支持一键导出 CSV / Excel / JSON,或通过数据集 API 直接读入 pandas。
现在就试: 运行 Bilibili Video Search · 运行 Bilibili Video Comments · 注册领取 $5 免费额度
Top comments (0)