Skip to content

问题 - B站有多少视频?

约 750 字大约 3 分钟

技术专栏产品管理

2025-02-07

作者:朱岸峰


最近看到一篇文章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, 101410^{14}量级,十万亿,明显不对。而且AV号如果是自增的,前面的数字再转成BV号,却没有对应视频。


📌 方法四:随机拨号

也就是用开头提到的办法:

  • 请求 URL,统计 有效 BV 号 / 总尝试数 的比率。

  • 结合历史数据(如已知的最新 AV 号),估算 B 站视频总数。
    例如:

  • 如果我们随机生成 100 万 个 BV 号,其中 1 万个有效,说明有效率为 1%

  • 假设 BV 号的总空间约为 58102.15×101758^{10} \approx 2.15 \times 10^{17},则可估算当前 B 站视频总数为 2.15×1017×1%=2.15×10152.15 \times 10^{17} \times 1\% = 2.15 \times 10^{15}

文章提到的核心优化手段包括:

  1. 限制搜索范围(基于已知 ID,提高命中率)。
  2. 优化 ID 生成(加权采样,避免无效组合)。
  3. 使用并行请求(多线程,提高访问效率)。
  4. 结合 API(减少 404,提高数据质量)。
  5. 计算有效 ID 占比(基于统计,推算总数)。

想了下,也有点麻烦的。