fix(sites): 按真实列表页修正 OurBits / 彩虹岛 / 憨憨 解析
2026-10-02 用真实账号各抓一次列表页与用户页(只读)核对: - OurBits:标题列嵌套 table.torrentname 有 5 个 td,td:nth-child(n) 先命中嵌套格子, 大小全为 0、发布时间 N/A;改为只匹配行的直接子单元格。副标题原取成标签块,改为标签之后的正文; 新增标签与列表页 IMDb / 豆瓣 ID(label.imdb_rate / douban_rate 的 data 属性) - 彩虹岛:font.subtitle 去掉前面的 div.tag 与末尾徽标,标签单独取 - 憨憨:新增列表标签(span.tag,不含促销) - 纯数字 IMDb ID 补成 tt + 7 位(imdbIdOf) - 用户页核对:下载量为 0 是站点实际显示(VIP),解析正确;上传量四站与页面一致 - 脱敏样例 sites-2026.ts + 定义测试;差分登记 23 条有意偏离(新增 labels、OurBits 副标题) Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
cac1833f53
commit
64e1dfb1d2
12 files changed
+327
-16
No files matched your search
@@ -7333,6 +7333,98 @@
|
||||
"tjupt@tk-chdbits-list#1.pubdate": {
|
||||
"kind": "mp_bug",
|
||||
"note": "tjupt 定义 date_added 取单元格文本(\"2天\"/\"26天\"相对时间),MP normalize_datetime 用 dateparser 以当前时刻换算成绝对时间(生成时冻结 now=2026-09-27T12:00),结果随抓取时刻漂移;本项目 normalizeDatetime 只接受绝对时间,相对时间不写 pubdate(与 MP __is_relative_pubdate_text 的意图一致)。"
|
||||
},
|
||||
"chdbits@tk-audiences-list#0.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"chdbits@tk-audiences-list#1.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"chdbits@tk-audiences-list#2.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"chdbits@tk-audiences-list#3.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"chdbits@tk-audiences-list#4.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"chdbits@tk-chdbits-list#0.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"chdbits@tk-chdbits-list#1.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"hhanclub@tk-hhanclub-list#0.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"hhanclub@tk-hhanclub-list#1.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"ourbits@tk-audiences-list#0.description": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 OurBits 覆盖层改了副标题选择器(原定义 td.embedded > div 取到的是标签块,真实页面副标题在标签之后);MP 参照仍用原定义,在通用样例上为 null,本项目取到正文。"
|
||||
},
|
||||
"ourbits@tk-audiences-list#0.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"ourbits@tk-audiences-list#1.description": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 OurBits 覆盖层改了副标题选择器(原定义 td.embedded > div 取到的是标签块,真实页面副标题在标签之后);MP 参照仍用原定义,在通用样例上为 null,本项目取到正文。"
|
||||
},
|
||||
"ourbits@tk-audiences-list#1.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"ourbits@tk-audiences-list#2.description": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 OurBits 覆盖层改了副标题选择器(原定义 td.embedded > div 取到的是标签块,真实页面副标题在标签之后);MP 参照仍用原定义,在通用样例上为 null,本项目取到正文。"
|
||||
},
|
||||
"ourbits@tk-audiences-list#2.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"ourbits@tk-audiences-list#3.description": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 OurBits 覆盖层改了副标题选择器(原定义 td.embedded > div 取到的是标签块,真实页面副标题在标签之后);MP 参照仍用原定义,在通用样例上为 null,本项目取到正文。"
|
||||
},
|
||||
"ourbits@tk-audiences-list#3.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"ourbits@tk-audiences-list#4.description": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 OurBits 覆盖层改了副标题选择器(原定义 td.embedded > div 取到的是标签块,真实页面副标题在标签之后);MP 参照仍用原定义,在通用样例上为 null,本项目取到正文。"
|
||||
},
|
||||
"ourbits@tk-audiences-list#4.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"ourbits@tk-chdbits-list#0.description": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 OurBits 覆盖层改了副标题选择器(原定义 td.embedded > div 取到的是标签块,真实页面副标题在标签之后);MP 参照仍用原定义,在通用样例上为 null,本项目取到正文。"
|
||||
},
|
||||
"ourbits@tk-chdbits-list#0.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
},
|
||||
"ourbits@tk-chdbits-list#1.description": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 OurBits 覆盖层改了副标题选择器(原定义 td.embedded > div 取到的是标签块,真实页面副标题在标签之后);MP 参照仍用原定义,在通用样例上为 null,本项目取到正文。"
|
||||
},
|
||||
"ourbits@tk-chdbits-list#1.labels": {
|
||||
"kind": "intentional",
|
||||
"note": "2026-10-02 按真实列表页给 OurBits / 彩虹岛 / 憨憨 覆盖层新增 labels 字段(MovieClaw 原定义没有,MP 参照因此为 undefined);样例里没有标签时本项目输出空数组。"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user