9b395f5cc3
E2E Headed Chrome / e2e-headed (macos-15) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (ubuntu-latest) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (windows-latest) (push) Has been cancelled
CI / build (macos-latest) (push) Has been cancelled
CI / build (ubuntu-latest) (push) Has been cancelled
CI / build (windows-latest) (push) Has been cancelled
CI / unit-test (push) Has been cancelled
CI / bun-test (push) Has been cancelled
CI / adapter-test (push) Has been cancelled
CI / smoke-test (macos-latest) (push) Has been cancelled
CI / smoke-test (ubuntu-latest) (push) Has been cancelled
Security Audit / audit (push) Has been cancelled
Build Chrome Extension / build (push) Has been cancelled
Trigger Website Rebuild (Docs Updated) / dispatch (push) Has been cancelled
59 lines
2.3 KiB
Markdown
59 lines
2.3 KiB
Markdown
# Toutiao (今日头条)
|
|
|
|
**Mode**: 🌐 / 🔐
|
|
|
|
| Command | Mode | Domain | Description |
|
|
|---------|------|--------|-------------|
|
|
| `opencli toutiao articles` | 🔐 Browser | `mp.toutiao.com` | 头条号创作者后台文章列表及数据(需登录) |
|
|
| `opencli toutiao hot` | 🌐 Public | `www.toutiao.com` | 今日头条首页热榜(公开,无需登录) |
|
|
|
|
## Usage Examples
|
|
|
|
```bash
|
|
# Public hot board (no login)
|
|
opencli toutiao hot
|
|
opencli toutiao hot --limit 10
|
|
opencli toutiao hot -f json
|
|
|
|
# Creator dashboard articles (logged-in)
|
|
opencli toutiao articles
|
|
opencli toutiao articles --page 2
|
|
opencli toutiao articles --page 1 -f json
|
|
```
|
|
|
|
## Output
|
|
|
|
### `hot`
|
|
|
|
| Column | Type | Notes |
|
|
|--------|------|-------|
|
|
| `rank` | int | 1-based, dense after empty-title rows are dropped |
|
|
| `group_id` | string \| null | Topic/cluster id (`ClusterIdStr`, falls back to numeric `ClusterId`) |
|
|
| `title` | string | Trending topic title |
|
|
| `query` | string | Search keyword (`QueryWord`); falls back to `title` if absent |
|
|
| `hot_value` | int \| null | `HotValue` parsed as non-negative number; `null` if missing |
|
|
| `label` | string \| null | Hot tag (e.g. 热 / 新 / 沸) when present |
|
|
| `url` | string \| null | Topic permalink |
|
|
| `image_url` | string \| null | First non-empty image URL (`Image.url` → `Image.url_list[*]`) |
|
|
|
|
### `articles`
|
|
|
|
`title` · `date` · `status` · `展现` · `阅读` · `点赞` · `评论`
|
|
|
|
If a row's stats span has not finished rendering by the time the page text is read, the row still surfaces with `null` stat columns instead of being silently dropped — this masking previously hid creator-backend slow-render bugs.
|
|
Login/captcha pages abort with `AuthRequiredError`; browser render failures abort with `CommandExecutionError`.
|
|
|
|
## Prerequisites
|
|
|
|
### `hot`
|
|
- No login required. Uses the public `hot-event/hot-board` endpoint that powers the homepage hot panel.
|
|
|
|
### `articles`
|
|
- Chrome running and **logged into** `mp.toutiao.com`
|
|
- [Browser Bridge extension](/guide/browser-bridge) installed
|
|
|
|
## Notes
|
|
|
|
- `hot` `--limit` accepts integers in `[1, 50]`; out-of-range values raise an `ArgumentError` (no silent clamp).
|
|
- `articles` `--page` accepts integers in `[1, 4]`, matching the contributor's verified range on the creator dashboard; out-of-range values raise an `ArgumentError`.
|