Resources
11Install
npx skillscat add juryory/douban-monitor Install via the SkillsCat registry.
SKILL.md
OpenClaw 豆瓣高分监控
目标
这个 skill 用来监控豆瓣里“近期新出现并达到门槛”的影视内容,默认关注以下条件:
- 豆瓣评分大于
8.0 - 豆瓣评分人数大于
3000 - 条目是首次达标,或者后续热度显著增长,值得进一步关注
数据源策略
采用"豆瓣侧 + TMDB 侧"的混合候选池,只依赖 HTTP 请求,不需要浏览器环境。
来源职责:
- 豆瓣榜单
发现近期热门候选。优先使用 Frodo API(带 HMAC 签名),失败时自动降级到 Rexxar API(m.douban.com移动网页版接口,无需签名) - 豆瓣详情
提供评分和评分人数真值。同样 Frodo → Rexxar 自动降级 - TMDB 热门接口
提供额外候选和展示元数据
默认配置的豆瓣榜单包括:
- 电影
- 华语剧集
- 全球剧集
- 国内综艺
- 国外综艺
抓取策略
- 调用 Frodo API 获取豆瓣各榜单的候选列表,接口直接返回条目 ID、标题、评分和评分人数
- 任一榜单 Frodo 失败(400 / 签名错误 / IP 风控),自动改用 Rexxar API 抓同一个 collection 的相同接口
- 对于榜单已包含完整评分数据的条目,跳过详情页请求
- 对于缺少评分数据的条目(如 TMDB 候选),先用 Frodo 详情接口补全,失败时同样降级到 Rexxar
执行流程
对应 monitor.py 的 [1/8] ~ [8/8]:
- 抓取豆瓣多榜单候选
- 抓取 TMDB 候选
- 去重并补全详情页,提取评分和评分人数
- 更新状态与监控库,判定新增命中、继续观察和二次提醒
- 写入状态文件、监控库和 Markdown 报告
- 生成前端结果数据
douban-monitor-result.json,为每条达标条目附带入库时间(qualified_at/first_discovered_at) - 生成网页附加数据:
fetch_favorites.py手动收藏、fetch_posters.py封面、fetch_metadata.py元数据、fetch_reviews.py短评 - 拉取远端最新代码,提交数据变更并推送到 GitHub
抓取失败保护:若第 1、2 步豆瓣和 TMDB 全部失败、当日候选数为 0,第 5 步跳过 Markdown 报告写入、第 6 步跳过 result.json 写入,保留上一份好数据,避免网页刷新成空。
推送保护:第 8 步 git pull --rebase --autostash 失败或检测到待提交文件中出现合并冲突标记时立即中止,不提交坏数据。
可视化网页
项目根目录的 index.html 是一个静态网页,读取 data/ 下的 JSON 文件展示达标内容。
- 暗色主题瀑布流卡片布局
- 支持电影 / 剧集 / 综艺分类切换和多维排序,默认"最近入库"按真实入库时间(
qualified_at/first_discovered_at)倒序 - 卡片包含封面、评分、类型标签、简介、上映日期,点击跳转豆瓣详情页
- 数据来源:
douban-monitor-result.json、douban-monitor-favorites-result.json、douban-monitor-posters.json、douban-monitor-metadata.json、douban-monitor-reviews.json
核心规则
首次达标
满足以下条件时视为“新增命中”:
- 评分大于
min_rating - 评分人数大于
min_rating_count - 历史状态中此前未达标
继续观察
未达到最终门槛但仍有潜力的条目继续进入监控库,例如:
- 评分已经接近目标
- 评分人数已具备增长空间
- 仍然出现在榜单来源中
入库规则
不要把所有候选都永久加入监控库。只有具备一定潜力的条目才会继续跟踪。
入库参考条件:
- 出现在豆瓣榜单页
- 出现在选定的 TMDB 热门源
- 豆瓣评分大于等于
7.5 - 豆瓣评分人数大于等于
1000
当前状态
当前版本已经验证通过:
- 纯 HTTP 抓取:Frodo + Rexxar 双通道,任一通道挂掉自动切另一条,无需浏览器
- 状态文件、监控库、Markdown 报告输出
- 阈值筛选与新增命中判定
- 网页可视化展示(瀑布流卡片布局、封面、简介、评分、短评)
- 手动收藏:
data/douban-monitor-favorites.json填豆瓣 ID 即可在网页展示 - 最近入库排序:达标条目携带入库时间戳,网页按真实入库时间排序
- TMDB 封面和元数据自动获取
- GitHub Actions 定时自动运行(每天 09:00 / 21:00)
- 抓取失败和推送冲突有兜底保护,不会覆盖或污染历史数据
当前已打通的榜单类型:
- 电影
- 华语剧集
- 全球剧集
- 国内综艺
- 国外综艺
已知限制
- 豆瓣侧抓取优先走 Frodo API(带签名);Frodo 任一榜单或详情失败时自动降级到 Rexxar API(
m.douban.com移动网页版接口,无需签名)。Frodo 和 Rexxar 同时挂掉的概率很低 - 未配置
TMDB_API_KEY时,TMDB 候选源和网页封面/元数据不会生效
后续扩展
- 支持豆瓣 Cookie,提升榜单和搜索相关页面稳定性
- 接入 MoviePilot,实现命中内容自动推送或下载
- 生成适合公众号发布的内容稿件