问题 - B站有多少视频?
作者:朱岸峰
最近看到一篇文章How Big is YouTube?,采用了一种称为 **“drunk dialing”(随机拨号)**的方法。这种方法通过生成 11 个字符的随机 YouTube 视频 URL 来尝试访问现有视频。URL 由字母(a–z、A–Z)、数字(0–9)以及两个特殊字符(_ 和 -)组成。由于可能的组合数量极其庞大(接近2的64次方),随机命中有效视频的概率很低。然而,他们通过一些优化手段,提高了成功率,最终能够找到有效视频并进行数据分析。通过这种方法,他们估算出 2023 年 YouTube 平台上传的视频总数超过 40 亿条。
由此延申开,想到一个同样的也无厘头的问题:
B站有多少视频?
你可能会说,简单,直接查公司年报啥的不就得了。我特地问了Deepseek还有chaptgpt,得到的答案都是:
根据哔哩哔哩(B站)公开发布的财务报告和投资者演示资料,目前并未找到关于平台视频总数的直接数据。
得想其他方法了。
📌 方法一:用搜索引擎测算
比如:用Bing搜索site:bilibili.com/video/,得到的答案是:
✔ 约 175,000,000 个结果 也就是 1.75亿个视频。感觉少了。
📌 方法二:写爬虫或调API
B站肯定有反爬策略,麻烦,过~
调API统计某一时段的数量再推测总数,麻烦,过~
📌 方法三:BV号转AV号测算
找个最新视频,获取BV号,再随便搜个在线工具转成AV号。我得到的结果是 113961320128496, 1014量级,十万亿,明显不对。而且AV号如果是自增的,前面的数字再转成BV号,却没有对应视频。
📌 方法四:随机拨号
也就是用开头提到的办法:
请求 URL,统计 有效 BV 号 / 总尝试数 的比率。
结合历史数据(如已知的最新 AV 号),估算 B 站视频总数。
例如:如果我们随机生成 100 万 个 BV 号,其中 1 万个有效,说明有效率为 1%。
假设 BV 号的总空间约为 5810≈2.15×1017,则可估算当前 B 站视频总数为 2.15×1017×1%=2.15×1015。
文章提到的核心优化手段包括:
- 限制搜索范围(基于已知 ID,提高命中率)。
- 优化 ID 生成(加权采样,避免无效组合)。
- 使用并行请求(多线程,提高访问效率)。
- 结合 API(减少 404,提高数据质量)。
- 计算有效 ID 占比(基于统计,推算总数)。
想了下,也有点麻烦的。