热点三榜数据接入定稿:全品类单文件(不传赛道一次调用)+ 三子目录落盘
- fetch_week_ranks.py 重写:28 赛道循环→全品类不传 type 每榜每期 1 次调用;hotContentRank source 修正为生产名「抖音每日点赞飙升榜」(GitHub 后缀版返回空);API 单次上限 TOP50(limit/page/offset 实测均无效)固化防再探测;成本铁律「批量付费调用前须先经用户确认」
- 落盘契约:抖音榜单/ 三子目录(账号周榜/视频热榜/点赞榜),hot/likes 全品类单文件/期 抖音周榜_{视频热榜|点赞榜}_{周一}.json;旧 28 赛道 56 文件归档 _archive_旧28赛道结构_20260903
- dsh-data.js:RANK_SUB 子目录映射 + rankFilePath + listRankFiles(子目录优先+根目录旧平铺回退) + collectCategories(week=文件名赛道、hot/likes=条目 category 并集)+ getRanking 赛道筛选(week 文件名级/hot likes 条目级)
- 前端三榜渲染(data-pages.js/app.js/style.css 承接前段)+ 文档同步(主 SKILL.md 落盘表/抓取器说明段)+ dsh 副本 diff=0 + 记忆日志
This commit is contained in:
1 parent
2fc8b7b3f6
commit
250d51c8c2
10 files changed
+553
-116
No files matched your search
@@ -141,3 +141,17 @@
|
||||
- 改动 2 文件(纯静态,无需重启服务):`mcn-work-shop/public/app.js` 首页 rank-tabs 删 fans 按钮行(L329)+ 注释「3 个新榜」→「2 个」;`data-pages.js` RANK_TABS 删 `['fans','涨粉榜'],` + L507 注释去涨粉榜
|
||||
- 首页 tab 点击 handler 为通用逻辑(week=列表/其余占位)无 fans 特判,删按钮即自动收敛;cdp-verify-*.mjs 里的 `fans` 是**周榜表格粉丝列**(rk-num nth-child(5))非涨粉榜 tab,保留未动;docs/AI会话任务输入输出对照.md 仅提入口未列 tab 无需改
|
||||
- 验证:node --check 两文件通过 + 服务 8900 伺服 js `grep -c 涨粉榜`=0;CDP 9224/9223 无调试浏览器未做视觉验证
|
||||
- 已 push 源仓库 0cd2c45..09dc431(fetch 无分叉,跟踪引用正常未丢失);dsh 仓库无工作台副本无需提交
|
||||
|
||||
## 热点数据三榜接入:视频热榜/点赞榜 周粒度真实数据(09-03 傍晚)
|
||||
- **任务链**:①写周粒度抓取器 `mcn-data-insight/scripts/fetch_week_ranks.py`(fetch_week_ranks.py,--board hot|likes|both + --date 周标号 + --force;服务端周窗口一次调用=likesRank 传周一~周日 / hotContentRank 传周日单参官方七日口径,**禁止逐日累加**)②落盘 2026-08-24 完整周:hot 28 赛道 1396 条 + likes 28 赛道 1400 条 → 桌面 `三方数据\红狐数据\抖音榜单\抖音周榜_{视频热榜|点赞榜}_{赛道}_{周一}.json` ③后端 board-aware:dsh-data.js parseRankFile/listRankFiles/rankingMeta(board)/getRanking(board)(DEF_KEY 随榜 week=comprehensiveScore/hot=likeCount/likes=add_digg_count;作品榜条目不查账号表 inDb 恒 false)+ server.js `/api/dsh/ranking` 透传 board(默认 week 兼容)
|
||||
- **前端改造(本段)**:`data-pages.js renderRanking` 重写为 board 驱动三榜渲染——每榜独立 state(日期/赛道/排序/翻页切 tab 保留)、COLS 列模板(week=账号表 10 列含关注功能列;hot=排名/作品标题(链 workUrl)/作者/赛道/点赞/评论/分享/收藏/发布时间;likes=同构但 add_digg/add_collect/add_comment/add_share + create_time_str)、SORT_NUM 排序字段集合、defKey 回显默认降序箭头、meta 每榜独立缓存;`app.js` 首页 rank-preview 同步三榜——_PREVIEW_COLS 三模板 + setRankBoard 切榜重拉 meta、rk-video grid(8 列)CSS;style.css 加 .rk-tl 标题截断 + .table.table-rank.rank-video 列宽规则
|
||||
- **验证**:node --check 三文件通过;node 直调 getRanking 三榜真实数据(hot 1396/likes 1400/week 250、美食筛选=50 条单赛道);重启 8900 服务(旧 36532 → 新 29172,cdp 冒烟 9224 无调试浏览器);curl 静态资源 200;内联渲染模板喂真实条目无异常
|
||||
- **文档同步**:mcn-data-insight 主 SKILL.md 落盘规范表「2 视频热榜/3 点赞榜」❌预留→✅已实现 + 补 fetch_week_ranks.py 说明段;douyin-daily-hot/douyin-content-surge SKILL.md 补「日粒度归档走自身命名,周粒度由 fetch_week_ranks.py 落盘」边界;dsh 副本 mcn-data-insight cp 同步 4 文件(主 SKILL.md + fetch_week_ranks.py + 2 子技能 SKILL.md)
|
||||
|
||||
## ★热点数据三榜修正:全品类单文件+三子目录(09-03 晚间,用户纠正全赛道误读)
|
||||
- **用户纠正(重要)**:「全赛道获取所有数据」= **不传 type 一次调用拿全品类**,非按 28 赛道循环;批评「整这种浪费钱的操作前先问问」。教训三层固化:①抓取器 docstring + SKILL.md 成本铁律「多赛道/多日/多窗口付费调用前必须先向用户确认次数与范围」②本日志 ③失误复盘见上
|
||||
- **API 实测结论(固化防再探测)**:likesRank 无 type=50 条全品类周榜(source 抖音每日热门作品榜-GitHub,周一~周日);hotContentRank **source 必须「抖音每日点赞飙升榜」生产名**(写「抖音七日点赞飙升榜-GitHub」返回空),无 type=50 条(startTime=周日七日口径);**单次上限 TOP50**(limit=100/page=2/offset=50 全被忽略)
|
||||
- **新落盘契约**:`抖音榜单/` 三子目录 `账号周榜/`(抖音周榜_{赛道}_{周一}×多期,douyin-top-account 落盘)、`视频热榜/`(抖音周榜_视频热榜_{周一}.json 全品类单文件/期)、`点赞榜/`(抖音周榜_点赞榜_{周一}.json);旧 28 赛道 56 文件归档 `_archive_旧28赛道结构_20260903/`;顶层 category="全部",赛道在 list[].category
|
||||
- **后端改造**:dsh-data.js RANK_SUB 子目录映射 + rankFilePath(dir,name) + parseRankFileIn/listRankFiles(子目录优先+根目录旧平铺回退)/collectCategories(week=文件名赛道;hot/likes=条目 category 并集)/getRanking 赛道过滤(week 文件名级、hot/likes 条目级);工作台实际读取桌面目录(源技能 __dirname 无 .dsh → 桌面 71→15+2 文件;D:/dshworkspace/抖音榜单 为空是 dsh 部署形态)
|
||||
- **验证**:node --check ✓;node 直调 week 250/3期/5赛道 + hot 50/12赛道 + likes 50/14赛道;筛亲子 hot=2/likes=3;服务重启(29172→3912)curl 三榜 API 全通;前端赛道下拉动态(meta.categories)无需改动
|
||||
Reference in new issue
Block a user