feat: 扩展首页分类、New Releases 和 Recommend 全量抓取

This commit is contained in:
Nixevol
2026-09-26 22:44:27 +08:00
parent 00bf1361d3
commit 3ba5452359
3 changed files with 258 additions and 25 deletions
+37 -5
View File
@@ -165,7 +165,27 @@
| label_origin | string | |
| image | string 或 null | |
已见到的分类:`18` Comedy,`20` Passion,`21` Newest,`22` Western,`23` Comic drama。
已见到的分类:`18` Comedy,`20` Passion,`21` Newest,`22` Western,`23` Comic drama。首页顶栏就是这五个标签,脚本用 `sections` 记成 `comedy`、`passion`、`newest`、`western`、`comic`。
### 首页区块对应
发现页上能对上接口的区块:
| 界面 | 接口 | 脚本里的 `sections` |
| --- | --- | --- |
| 顶栏 Comedy / Passion / Newest / Western / Comic drama | `POST /app/open/classify_video`,`type` 分别为 18 / 20 / 21 / 22 / 23 | `comedy` / `passion` / `newest` / `western` / `comic` |
| New Releases | `GET /app/open/orgin` | `new_releases` |
| Recommend | `POST /app/open/recommend`,按 `page` 翻页 | `recommend` |
同一部剧可以同时出现在多个区块。脚本按剧 id 合并,播放地址只请求一次,`sections` 列出它出现过的区块,例如 `["passion","new_releases","recommend"]`。
Trending Now 对不上单独的短列表。安装包里发现页有 `trendingDramas` 和 `_buildTrendingSection`,但没有单独的拉取方法或 `/app/open/` 路径。核对过的结果:
- `POST /app/open/extra_broadcast` 是历史页里的 extra broadcast,不是发现页的 Trending Now。当前 9 部里没有截图上的 Bai Jie: A Young Wife、Desire Manor、The Love Curse。改 `type` 或 `ishot` 仍是这 9 部。
- `GET /app/open/orgin` 只有 Bai Jie: A Young Wife,没有另外两部。
- Recommend 全量里三部都在,但分散在第 4、7、11 页,不是这一行的短列表。
- 三部的 `videoinfo.ishot` 都是 `0`。猜的 `/app/open/banner`、`/hot`、`/ranking` 返回 404。
- `/app/open/foryou` 不作为首页来源,脚本不调用。
### POST /app/open/classify_video
@@ -183,9 +203,19 @@
### POST /app/open/recommend
请求体:`{}`
首页 Recommend。`page` 从 1 开始,`limit` 用 10。`start` 会被忽略,不能用来翻页。空对象 `{}` 和带 `page`/`limit` 的第一页一样,大约 10 条,不是全站列表。
`data` 是剧目数组。空对象也只返回约 10 条,不是全站列表。
请求体:
```json
{"page": 1, "limit": 10}
```
每页 10 条,相邻页的剧 id 不同。某一页条数不足 10 时还要继续请求下一页。只有空页,或这一页的 id 全部在前面出现过,才停止。脚本最多翻 80 页,避免死循环。
2026-09-26 用游客 token 翻页:第 1–33 页各 10 条,第 34 页 2 条,第 35 页为空。去重后 332 部。
`data` 是剧目数组。
### POST /app/open/foryou
@@ -204,11 +234,13 @@
请求体:`{}`
`data` 是剧目数组。
`data` 是剧目数组。这是历史页的列表,不是首页 Trending Now。不传分页参数时返回固定的一小批剧;带 `page` 也不会换成 Trending Now 那一排。
### GET /app/open/orgin
无请求体。`data` 是剧目数组。
无请求体。`POST` 空对象同样返回这一批。`data` 是剧目数组。
这是首页 New Releases。当前一次返回 10 部,按较新的剧排在前面。截图里能看到的 Reaping What She Sowed、The Fall of a Mountain Flower、The Delivery Guy's Rise 是这 10 部的最后三部。加上 `type=trending`,或 `page`/`limit`,仍然只有 10 条,不是另一份 Trending Now 列表。
### POST /app/open/search