旧版爬虫文档

核心数据表

爬虫系统关键数据表的结构与用途

snapshot_schedule

核心调度表,记录所有待执行和已执行的快照任务。

字段类型说明
idbigserial主键
aidbigint视频AID
typetext类型:new/milestone/normal/archive
statustext状态:pending/processing/completed/failed/no_proxy/bili_error
created_attimestamp创建时间
started_attimestamp计划执行时间
finished_attimestamp完成时间
started_at_5min_utctimestamp (generated)5分钟窗口时间(用于限流)

索引(aid, status, type), (status, started_at_5min_utc)

video_snapshot

存储每次采集的视频播放数据。

字段类型说明
idserial主键
aidbigint视频AID(索引)
created_attimestamp采集时间(索引)
viewsinteger播放量
coinsinteger硬币数
likesinteger点赞数
favoritesinteger收藏数
sharesinteger分享数
danmakusinteger弹幕数
repliesinteger评论数

latest_video_snapshot

由数据库触发器驱动,提供各视频的最新快照数据快速查询。

字段类型说明
aidbigint主键
timetimestamp快照时间(索引)
viewsinteger播放量(索引)
coins/likes/favorites/replies/danmakus/sharesinteger各指标

bilibili_metadata

缓存B站视频的基本信息。

字段类型说明
idserial主键
aidbigint视频AID(唯一索引)
bvidvarcharBV号(索引)
titletext标题
descriptiontext描述
tagstext标签(逗号分隔)
uidbigintUP主UID(索引)
published_attimestamp发布时间
durationinteger时长(秒)
cover_urltext封面URL
statusintegerB站状态码(默认0)
created_attimestamp入库时间

bilibili_user

缓存UP主的信息

字段类型说明
idserial主键
uidbigintUID(唯一索引)
usernametext用户名
desctext签名
fansinteger粉丝数
avatartext头像URL
created_at/updated_attimestamp时间戳

songs

歌曲的基本信息

字段类型说明
idserial主键
aidbigint视频AID(唯一索引)
nametext歌曲名
published_attimestamp发布时间
durationinteger时长
imagetext封面
producertext制作人/UP主名
netease_idbigint网易云ID(唯一索引)
deletedboolean是否删除(默认false)
created_at/updated_attimestamp时间戳

labelling_result

存储ML模型分类视频的结果

字段类型说明
idserial主键
aidbigint视频AID(索引)
labelsmallint分类标签(0=非歌曲)
model_versiontext模型版本(如"3.17")
logitssmallint[]分类logits
created_attimestamp分类时间

索引(aid, model_version)(唯一), (label, model_version)

eta

存储预估某个视频达成下一个成就的时间

字段类型说明
aidbigint主键
etareal预计到达成就的时间(小时)
speedreal当前增速(播放量/小时)
current_viewsinteger当前播放量
updated_attimestamp更新时间

Redis Key模式

Key用途
cvsa:lock:${id}分布式锁
cvsa:snapshot_window_counts快照限流窗口计数
cvsa:${name}_${index}多窗口限流器
bullmq:*BullMQ内部存储

目录