@@ -23,19 +26,20 @@ export async function renderAbout(root) {
数据来源与更新
- - 视频元数据、播放与互动来自 B 站公开接口;粉丝数来自
relation/stat,匿名可用。
- - 发现与收藏夹同步每小时运行一次,每日快照在 00:01 采集;最新数据日:${escapeHtml(data.data_date || "暂无")}。
- - 当前快照覆盖 ${data.snapshot_days} 天${data.snapshot_first_date ? `(起始 ${escapeHtml(data.snapshot_first_date)})` : ""};历史快照无法从 B 站回填,只能从部署当天开始积累。
- - 数据库 schema 版本
${data.schema_version};${data.preview ? "当前为预览数据,不影响真实数据库。" : "当前为真实数据库。"}
+ - 所有数据来自 B 站以及部分 MCN 统计网站。
+ - 新视频人工入库;库内视频数据每天更新一次;最新数据日:${escapeHtml(data.data_date || "暂无")}。
+ - 当前视频数据覆盖 ${data.snapshot_days} 天${data.snapshot_first_date ? `(起始 ${escapeHtml(data.snapshot_first_date)})` : ""};历史快照无法从 B 站回填,只能从部署当天开始积累。
+ - 咻咻满粉丝数据的起点日期为 ${fansStart}。
+ ${data.preview ? `当前为预览数据,不影响真实数据库。
` : ""}
三个时间概念
- - 发布时间(
pubdate):视频在 B 站上线的时刻。
- - 入库时间(
first_seen):本站第一次看到并写入该视频的时刻。人工加收藏或搜索确认都可能导致入库晚于发布。
- - 快照日期(
stat_date):每天采集一次播放与互动,写入 snapshot。缺失日不插值,曲线直接断开。
+ - 发布时间(
pubdate):视频在 B 站发布的时刻。
+ - 入库时间(
first_seen):本站第一次录入该视频的时刻。
+ - 快照日期(
stat_date):每天更新一次视频的播放与互动数据。缺失日不插值,曲线直接断开。
因此,同一个视频的“发布后 7 天数据”和“入库后 7 天数据”可能不是同一段区间;详情页会同时展示发布时间与入库时间。
@@ -59,7 +63,7 @@ export async function renderAbout(root) {
榜单筛选
- 内容效率与互动效率只统计时长 ≥ ${analytics.min_duration_seconds} 秒的视频,排除结构不同的短视频与切片。
- - 只统计发布满 ${analytics.maturity_days} 天的视频;reaction 视频通常在两周内接近平台期,过早比较会系统性低估新视频。
+ - 只统计发布满 ${analytics.maturity_days} 天的视频;reaction 视频通常在发布前两天完成数据积累,两周内接近平台期,过早比较会系统性低估新视频。
- 不引入无界的“年龄惩罚”:超过成熟窗口后不再按天加分或扣分。
duration 为空或 ≤ 0 的视频(通常只在失效视频上出现)不进入任何时长相关榜,也不做插补。
- 当前配置的最小播放门槛为 ${analytics.min_view_for_efficiency}。
@@ -75,8 +79,7 @@ export async function renderAbout(root) {
UP 粉丝快照
- - 视频入库时记录一次 UP 当前粉丝数,写入
video.up_follower;同一 UP 的旧视频不会被新快照覆盖。
- up_profile.follower_first 保留首次采集值,follower_latest 随刷新更新。
+ - 视频入库时记录一次 UP 当前粉丝数,后续更新视频数据不刷新 UP 的入库时粉丝数。
- 历史视频的粉丝数是回填值,会标记
backfilled;它与真实的“入库时”存在时间差,暂不用于榜单排序。
- 当前覆盖:${followers.videos_covered} / ${followers.videos_total} 条视频(${coverage}%),涉及 ${followers.ups_tracked} 个 UP;缺失 ${followers.videos_missing} 条,可运行
app.py backfill-followers 补齐。
@@ -92,5 +95,13 @@ export async function renderAbout(root) {
- 样本不足(少于 2 天快照、单视频 UP)会显示提示,不伪造 0。