aiconductor-cli 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +565 -488
- package/bin/aiconductor-cli.js +401 -351
- package/package.json +1 -1
- package/src/api.js +135 -3
- package/src/api.test.js +292 -4
- package/src/commands/content.js +184 -184
- package/src/commands/douyin.js +174 -0
- package/src/commands/html_publish.js +54 -54
- package/src/commands/md_publish.js +175 -175
- package/src/commands/web.js +69 -0
- package/src/commands/web_search.js +99 -99
- package/src/commands/wx.js +116 -116
- package/src/commands/xhs.js +763 -609
- package/src/lib/cli-utils.js +172 -172
- package/src/lib/daren-score.js +91 -0
- package/src/lib/daren-score.test.js +57 -0
- package/AGENTS.md +0 -193
- package/api_docs/aic_web_search.md +0 -84
- package/api_docs/audio_converter.md +0 -51
- package/api_docs/balance_query.md +0 -38
- package/api_docs/bing_search.md +0 -55
- package/api_docs/china_stock_data.md +0 -221
- package/api_docs/delete_published_webpage.md +0 -38
- package/api_docs/doubao_search.md +0 -80
- package/api_docs/douyin_link_to_text_v1.md +0 -50
- package/api_docs/douyin_link_to_text_v2.md +0 -50
- package/api_docs/douyin_user_detail.md +0 -65
- package/api_docs/douyin_user_search.md +0 -58
- package/api_docs/douyin_user_videos.md +0 -49
- package/api_docs/douyin_user_videos_async.md +0 -45
- package/api_docs/douyin_user_videos_async_query.md +0 -41
- package/api_docs/douyin_user_videos_max.md +0 -59
- package/api_docs/douyin_video_comments.md +0 -68
- package/api_docs/douyin_video_info.md +0 -70
- package/api_docs/douyin_video_search.md +0 -60
- package/api_docs/douyin_video_search_fast.md +0 -48
- package/api_docs/fast_ocr.md +0 -51
- package/api_docs/flow_article2podcast_creat.md +0 -41
- package/api_docs/flow_article2podcast_query.md +0 -41
- package/api_docs/flow_wx_history_articles.md +0 -45
- package/api_docs/generate_image.md +0 -68
- package/api_docs/get_duration.md +0 -37
- package/api_docs/hot_list_mixed.md +0 -122
- package/api_docs/html_publish.md +0 -50
- package/api_docs/html_publish_flexible.md +0 -65
- package/api_docs/image_resize.md +0 -58
- package/api_docs/image_to_permalink.md +0 -61
- package/api_docs/link_expander.md +0 -39
- package/api_docs/llm_proxy.md +0 -61
- package/api_docs/markitdown.md +0 -47
- package/api_docs/md_to_docx.md +0 -51
- package/api_docs/md_to_html.md +0 -53
- package/api_docs/md_to_mindmap.md +0 -52
- package/api_docs/md_to_pdf.md +0 -52
- package/api_docs/md_to_png.md +0 -53
- package/api_docs/md_to_txt.md +0 -51
- package/api_docs/md_to_wxhtml.md +0 -64
- package/api_docs/md_to_xhs.md +0 -87
- package/api_docs/md_to_xlsx.md +0 -52
- package/api_docs/portrait_enhancement.md +0 -69
- package/api_docs/published_webpages.md +0 -45
- package/api_docs/r2_uploader.md +0 -51
- package/api_docs/schedulerx_job_create.md +0 -56
- package/api_docs/transaction_query.md +0 -52
- package/api_docs/url_to_markdown.md +0 -50
- package/api_docs/video_download_url.md +0 -57
- package/api_docs/video_download_url_oss.md +0 -55
- package/api_docs/video_to_text.md +0 -48
- package/api_docs/video_to_text_v2.md +0 -49
- package/api_docs/volcengine_face_pretty.md +0 -55
- package/api_docs/volcengine_faceswap.md +0 -55
- package/api_docs/website_screenshot.md +0 -49
- package/api_docs/wx_access_token.md +0 -44
- package/api_docs/wx_article_analysis_data_push.md +0 -43
- package/api_docs/wx_article_data.md +0 -48
- package/api_docs/wx_article_style_rewrite.md +0 -45
- package/api_docs/wx_draft_add.md +0 -56
- package/api_docs/wx_draft_publish.md +0 -47
- package/api_docs/wx_history_articles.md +0 -89
- package/api_docs/wx_image_upload.md +0 -46
- package/api_docs/wx_md_to_html.md +0 -48
- package/api_docs/wx_rss_reader.md +0 -59
- package/api_docs/xhs_hot_list.md +0 -48
- package/api_docs/xhs_note_comments_fast.md +0 -54
- package/api_docs/xhs_note_info_v2.md +0 -45
- package/api_docs/xhs_note_info_v3.md +0 -69
- package/api_docs/xhs_note_publish.md +0 -54
- package/api_docs/xhs_note_search_v2.md +0 -73
- package/api_docs/xhs_note_search_v3.md +0 -54
- package/api_docs/xhs_user_info_v2.md +0 -61
- package/api_docs/xhs_user_notes_v2.md +0 -56
- package/api_docs/xhs_user_notes_v3.md +0 -48
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
## 接口信息
|
|
2
|
-
- **URL**: `http://plugin.aiconductor.fun/api/xhs_note_search_v2`
|
|
3
|
-
- **方法**: `POST` / `GET`
|
|
4
|
-
- **Content-Type**: `application/json`
|
|
5
|
-
- **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
|
|
6
|
-
|
|
7
|
-
## 功能说明
|
|
8
|
-
根据关键词搜索小红书笔记,支持自动翻页,使用 max_pages 和 max_seconds 控制翻页范围。按页计费,每页计费一次。
|
|
9
|
-
|
|
10
|
-
## 请求参数
|
|
11
|
-
|
|
12
|
-
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|
|
13
|
-
|--------|------|------|--------|------|
|
|
14
|
-
| keyword | string | 是 | | 搜索关键词 |
|
|
15
|
-
| max_pages | integer | 否 | 1 | 最大翻页数 |
|
|
16
|
-
| max_seconds | integer | 否 | 50 | 最长运行时长(秒),超时自动停止 |
|
|
17
|
-
|
|
18
|
-
> **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
|
|
19
|
-
|
|
20
|
-
## 响应参数
|
|
21
|
-
|
|
22
|
-
| 参数名 | 类型 | 说明 |
|
|
23
|
-
|--------|------|------|
|
|
24
|
-
| success | boolean | 是否成功 |
|
|
25
|
-
| message | string | 响应消息 |
|
|
26
|
-
| data | object | 搜索结果数据 |
|
|
27
|
-
| data.has_more | boolean | 是否还有更多数据 |
|
|
28
|
-
| data.items | array | 笔记列表 |
|
|
29
|
-
| data.items[].noteInfo | object | 笔记信息 |
|
|
30
|
-
| data.items[].noteInfo.noteId | string | 笔记ID |
|
|
31
|
-
| data.items[].noteInfo.title | string | 笔记标题 |
|
|
32
|
-
| data.items[].noteInfo.noteType | integer | 笔记类型(1=图文,2=视频) |
|
|
33
|
-
| data.items[].noteInfo.notePublishTime | string | 发布时间 |
|
|
34
|
-
| data.items[].noteInfo.noteLink | string | 笔记链接 |
|
|
35
|
-
| data.items[].noteInfo.likeNum | integer | 点赞数 |
|
|
36
|
-
| data.items[].noteInfo.favNum | integer | 收藏数 |
|
|
37
|
-
| data.items[].noteInfo.cmtNum | integer | 评论数 |
|
|
38
|
-
| data.items[].noteInfo.readNum | integer | 浏览数 |
|
|
39
|
-
| data.items[].noteInfo.videoUrl | string | 视频URL(图文笔记为空) |
|
|
40
|
-
| data.items[].noteInfo.videoDuration | integer | 视频时长(秒) |
|
|
41
|
-
| data.items[].noteInfo.noteImages | array | 图片列表 |
|
|
42
|
-
| data.items[].noteInfo.noteImages[].imageUrl | string | 图片URL |
|
|
43
|
-
| data.items[].noteInfo.noteImages[].imageWidth | integer | 图片宽度 |
|
|
44
|
-
| data.items[].noteInfo.noteImages[].imageHeight | integer | 图片高度 |
|
|
45
|
-
| data.items[].userInfo | object | 用户信息 |
|
|
46
|
-
| data.items[].userInfo.nickName | string | 用户昵称 |
|
|
47
|
-
| data.items[].userInfo.avatar | string | 用户头像URL |
|
|
48
|
-
| data.items[].userInfo.userId | string | 用户ID |
|
|
49
|
-
| data.items[].userInfo.fansNum | integer | 粉丝数 |
|
|
50
|
-
| billing | object | 计费信息 |
|
|
51
|
-
| billing.service_fee | float | 单页服务费 |
|
|
52
|
-
| billing.discount_applied | boolean | 是否应用折扣 |
|
|
53
|
-
| billing.balance_before | float | 扣费前余额 |
|
|
54
|
-
| billing.balance_after | float | 扣费后余额 |
|
|
55
|
-
| billing.currency | string | 货币类型(CNY) |
|
|
56
|
-
| billing.pages_billed | integer | 实际计费页数 |
|
|
57
|
-
| billing.total_service_fee | float | 总服务费 |
|
|
58
|
-
| billing.transaction_ids | array | 交易ID列表 |
|
|
59
|
-
|
|
60
|
-
## 请求示例
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
curl -X POST "http://plugin.aiconductor.fun/api/xhs_note_search_v2" \
|
|
64
|
-
-H "Authorization: Bearer your_api_key" \
|
|
65
|
-
-H "Content-Type: application/json" \
|
|
66
|
-
-d '{"keyword": "人民日报", "max_pages": 2, "max_seconds": 60}'
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## 注意事项
|
|
70
|
-
1. 按页计费,每成功获取一页数据扣费一次
|
|
71
|
-
2. max_pages 控制最大翻页数,max_seconds 控制最长运行时间,两者任一达到限制即停止
|
|
72
|
-
3. 余额不足时自动停止翻页,已获取的数据正常返回
|
|
73
|
-
4. 采用后扣费模式,仅成功获取数据的页面才计费
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
## 接口信息
|
|
2
|
-
- **URL**: `http://plugin.aiconductor.fun/api/xhs_note_search_v3`
|
|
3
|
-
- **方法**: `POST` / `GET`
|
|
4
|
-
- **Content-Type**: `application/json`
|
|
5
|
-
- **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
|
|
6
|
-
|
|
7
|
-
## 功能说明
|
|
8
|
-
小红书笔记搜索插件 V3,基于 TikHub API,支持关键词搜索与自动翻页(search_id 机制),按页计费。费用以 api_services 表配置为准(service_code: `xhs_note_search_v3`)。
|
|
9
|
-
|
|
10
|
-
## 请求参数
|
|
11
|
-
|
|
12
|
-
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|
|
13
|
-
|--------|------|------|--------|------|
|
|
14
|
-
| keyword | string | 是 | — | 搜索关键词 |
|
|
15
|
-
| max_pages | int | 否 | 1 | 最大翻页数 |
|
|
16
|
-
| max_seconds | int | 否 | 50 | 最长运行时长(秒) |
|
|
17
|
-
| page | int | 否 | 1 | 起始页码 |
|
|
18
|
-
| sort | string | 否 | "" | 排序方式:`general` / `time_descending` / `popularity_descending` / `comment_descending` / `collect_descending`(空=general) |
|
|
19
|
-
| note_type | string | 否 | "" | 笔记类型:`video` / `note` / 空(不限) |
|
|
20
|
-
| note_time | string | 否 | "" | 发布时间:`day` / `week` / `halfyear` / 空(不限) |
|
|
21
|
-
|
|
22
|
-
> **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
|
|
23
|
-
|
|
24
|
-
## 响应参数
|
|
25
|
-
|
|
26
|
-
| 参数名 | 类型 | 说明 |
|
|
27
|
-
|--------|------|------|
|
|
28
|
-
| success | boolean | 是否成功 |
|
|
29
|
-
| message | string | 响应消息 |
|
|
30
|
-
| billing | object | 计费信息(service_fee / discount_applied / balance_before / balance_after / currency / pages_billed / total_service_fee / transaction_ids) |
|
|
31
|
-
| data.has_more | boolean | 是否还有更多数据 |
|
|
32
|
-
| data.items | array[object] | 笔记列表 |
|
|
33
|
-
| data.items[].noteInfo | object | 笔记信息(见下) |
|
|
34
|
-
| data.items[].userInfo | object | 用户信息(见下) |
|
|
35
|
-
|
|
36
|
-
`data.items[].noteInfo` 字段:`noteId`(string)、`title`(string)、`noteType`(string)、`notePublishTime`(string)、`noteLink`(string)、`likeNum`(int)、`favNum`(int)、`cmtNum`(int)、`readNum`(int)、`videoUrl`(string)、`videoDuration`(int)、`desc`(string)、`noteImages`(array[{imageUrl, imageWidth, imageHeight}])。
|
|
37
|
-
|
|
38
|
-
`data.items[].userInfo` 字段:`nickName`(string)、`avatar`(string)、`userId`(string)、`fansNum`(int)。
|
|
39
|
-
|
|
40
|
-
## 请求示例
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
curl -X POST "http://plugin.aiconductor.fun/api/xhs_note_search_v3" \
|
|
44
|
-
-H "Authorization: Bearer your_api_key" \
|
|
45
|
-
-H "Content-Type: application/json" \
|
|
46
|
-
-d '{"keyword": "美食探店", "max_pages": 2, "note_type": "video", "sort": "popularity_descending"}'
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## 注意事项
|
|
50
|
-
1. 按页计费:每成功抓取一页计费一次,余额不足、超时或上游无更多数据会自动停止翻页。
|
|
51
|
-
2. 采用后扣费模式:仅当某页成功获取并解析后才扣费,失败不扣费。
|
|
52
|
-
3. 翻页由内部维护 `search_id` / `search_session_id`,调用方无需关心。
|
|
53
|
-
4. 上游单页请求超时 55s,单次搜索最多重试 3 次。
|
|
54
|
-
5. 上游返回业务错误或无数据时停止翻页,已抓取数据仍正常返回。
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
## 接口信息
|
|
2
|
-
- **URL**: `http://plugin.aiconductor.fun/api/xhs_user_info_v2`
|
|
3
|
-
- **方法**: `POST` / `GET`
|
|
4
|
-
- **Content-Type**: `application/json`
|
|
5
|
-
- **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
|
|
6
|
-
|
|
7
|
-
## 功能说明
|
|
8
|
-
根据用户ID获取小红书用户详情,包括基本信息、互动数据(关注/粉丝/获赞与收藏/获赞/收藏)、标签等。按次计费。
|
|
9
|
-
|
|
10
|
-
> **数据源变更(2026-11-05)**:上游由 YDDM `/xhs/user_detail`(实测 8.2s)切换为 TikHub `GET /api/v1/xiaohongshu/app_v2/get_user_info`(实测 2.3s),**入参与出参形状完全不变**:
|
|
11
|
-
> `user_info.basic_info{nickname, avatar, red_id, gender, ip_location, desc}` + `user_info.interactions[5]{type, name, count}`(关注/粉丝/获赞与收藏/获赞/收藏)+ `user_info.tags[string]`。
|
|
12
|
-
> 两个口径差异需知悉:① `ip_location` 统一给**中文省份**(优先取资料地区省份,回落英文 IP 归属地,如 `福建`);② `获赞与收藏` 取上游自带的合计值,缺失时用 `获赞 + 收藏` 兜底。
|
|
13
|
-
|
|
14
|
-
## 请求参数
|
|
15
|
-
|
|
16
|
-
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|
|
17
|
-
|--------|------|------|--------|------|
|
|
18
|
-
| user_id | string | 是 | | 小红书用户ID,从用户主页链接 `/user/profile/` 后提取 |
|
|
19
|
-
|
|
20
|
-
> **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
|
|
21
|
-
|
|
22
|
-
## 响应参数
|
|
23
|
-
|
|
24
|
-
| 参数名 | 类型 | 说明 |
|
|
25
|
-
|--------|------|------|
|
|
26
|
-
| success | boolean | 是否成功 |
|
|
27
|
-
| message | string | 响应消息 |
|
|
28
|
-
| user_info | object | 用户详情数据 |
|
|
29
|
-
| user_info.basic_info | object | 基本信息 |
|
|
30
|
-
| user_info.basic_info.nickname | string | 用户昵称 |
|
|
31
|
-
| user_info.basic_info.avatar | string | 用户头像URL |
|
|
32
|
-
| user_info.basic_info.red_id | string | 小红书号 |
|
|
33
|
-
| user_info.basic_info.gender | integer | 性别(0=未知,1=男,2=女) |
|
|
34
|
-
| user_info.basic_info.ip_location | string | IP归属地 |
|
|
35
|
-
| user_info.basic_info.desc | string | 个人简介 |
|
|
36
|
-
| user_info.interactions | array | 互动数据列表 |
|
|
37
|
-
| user_info.interactions[].type | string | 互动类型(follows/fans/interaction) |
|
|
38
|
-
| user_info.interactions[].name | string | 互动名称(关注/粉丝/获赞与收藏) |
|
|
39
|
-
| user_info.interactions[].count | integer | 互动数量 |
|
|
40
|
-
| user_info.tags | array | 标签列表 |
|
|
41
|
-
| billing | object | 计费信息 |
|
|
42
|
-
| billing.service_fee | float | 服务费 |
|
|
43
|
-
| billing.discount_applied | boolean | 是否应用折扣 |
|
|
44
|
-
| billing.balance_before | float | 扣费前余额 |
|
|
45
|
-
| billing.balance_after | float | 扣费后余额 |
|
|
46
|
-
| billing.currency | string | 货币类型(CNY) |
|
|
47
|
-
| billing.transaction_id | string | 交易ID |
|
|
48
|
-
|
|
49
|
-
## 请求示例
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
curl -X POST "http://plugin.aiconductor.fun/api/xhs_user_info_v2" \
|
|
53
|
-
-H "Authorization: Bearer your_api_key" \
|
|
54
|
-
-H "Content-Type: application/json" \
|
|
55
|
-
-d '{"user_id": "6229d4850000000021021d46"}'
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## 注意事项
|
|
59
|
-
1. user_id 从小红书用户主页链接中提取,格式为 `https://www.xiaohongshu.com/user/profile/{user_id}`
|
|
60
|
-
2. 采用后扣费模式,仅用户详情获取成功时才扣费
|
|
61
|
-
3. 用户可能设置隐私权限导致部分数据不可见,此时正常返回可见数据
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
## 接口信息
|
|
2
|
-
- **URL**: `http://plugin.aiconductor.fun/api/xhs_user_notes_v2`
|
|
3
|
-
- **方法**: `POST` / `GET`
|
|
4
|
-
- **Content-Type**: `application/json`
|
|
5
|
-
- **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
|
|
6
|
-
|
|
7
|
-
## 功能说明
|
|
8
|
-
根据用户ID获取小红书用户笔记列表,支持自动翻页,使用 max_pages 和 max_seconds 控制翻页范围。按页计费,每页计费一次。
|
|
9
|
-
|
|
10
|
-
## 请求参数
|
|
11
|
-
|
|
12
|
-
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|
|
13
|
-
|--------|------|------|--------|------|
|
|
14
|
-
| user_id | string | 是 | | 小红书用户ID,从用户主页链接 `/user/profile/` 后提取 |
|
|
15
|
-
| max_pages | integer | 否 | 1 | 最大翻页数 |
|
|
16
|
-
| max_seconds | integer | 否 | 50 | 最长运行时长(秒),超时自动停止 |
|
|
17
|
-
|
|
18
|
-
> **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
|
|
19
|
-
|
|
20
|
-
## 响应参数
|
|
21
|
-
|
|
22
|
-
| 参数名 | 类型 | 说明 |
|
|
23
|
-
|--------|------|------|
|
|
24
|
-
| success | boolean | 是否成功 |
|
|
25
|
-
| message | string | 响应消息 |
|
|
26
|
-
| data | object | 笔记列表数据 |
|
|
27
|
-
| data.notes | array | 笔记列表 |
|
|
28
|
-
| data.notes[].noteId | string | 笔记ID |
|
|
29
|
-
| data.notes[].title | string | 笔记标题 |
|
|
30
|
-
| data.notes[].type | string | 笔记类型(video/normal) |
|
|
31
|
-
| data.notes[].time | integer | 发布时间(毫秒时间戳) |
|
|
32
|
-
| billing | object | 计费信息 |
|
|
33
|
-
| billing.service_fee | float | 单页服务费 |
|
|
34
|
-
| billing.discount_applied | boolean | 是否应用折扣 |
|
|
35
|
-
| billing.balance_before | float | 扣费前余额 |
|
|
36
|
-
| billing.balance_after | float | 扣费后余额 |
|
|
37
|
-
| billing.currency | string | 货币类型(CNY) |
|
|
38
|
-
| billing.pages_billed | integer | 实际计费页数 |
|
|
39
|
-
| billing.total_service_fee | float | 总服务费 |
|
|
40
|
-
| billing.transaction_ids | array | 交易ID列表 |
|
|
41
|
-
|
|
42
|
-
## 请求示例
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
curl -X POST "http://plugin.aiconductor.fun/api/xhs_user_notes_v2" \
|
|
46
|
-
-H "Authorization: Bearer your_api_key" \
|
|
47
|
-
-H "Content-Type: application/json" \
|
|
48
|
-
-d '{"user_id": "5e7e31a20000000001004b48", "max_pages": 3, "max_seconds": 120}'
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## 注意事项
|
|
52
|
-
1. 按页计费,每成功获取一页数据扣费一次
|
|
53
|
-
2. max_pages 控制最大翻页数,max_seconds 控制最长运行时间,两者任一达到限制即停止
|
|
54
|
-
3. 余额不足时自动停止翻页,已获取的数据正常返回
|
|
55
|
-
4. 采用后扣费模式,仅成功获取数据的页面才计费
|
|
56
|
-
5. user_id 从小红书用户主页链接中提取,格式为 `https://www.xiaohongshu.com/user/profile/{user_id}`
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
## 接口信息
|
|
2
|
-
- **URL**: `http://plugin.aiconductor.fun/api/xhs_user_notes_v3`
|
|
3
|
-
- **方法**: `POST` / `GET`
|
|
4
|
-
- **Content-Type**: `application/json`
|
|
5
|
-
- **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
|
|
6
|
-
|
|
7
|
-
## 功能说明
|
|
8
|
-
根据用户 ID 获取小红书用户笔记列表,支持自动翻页(cursor 机制),兼容图文与视频笔记,按页计费。费用以 api_services 表配置为准(service_code: `xhs_user_notes_v2`)。
|
|
9
|
-
|
|
10
|
-
> **数据源变更(2026-11-05)**:上游由 YDDM `/xhs/user_post2`(持续返回 `code 5003 网络连接失败`,接口表现为 `success:true` + 空 `notes`)切换为 TikHub `GET /api/v1/xiaohongshu/app_v2/get_user_posted_notes`(实测 20 条/页、1.9s)。**入参与出参形状完全不变**,与 `xhs_user_notes_v2` 同一上游、同一输出结构(差别只在 `desc` 等字段的原始内容)。
|
|
11
|
-
|
|
12
|
-
## 请求参数
|
|
13
|
-
|
|
14
|
-
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|
|
15
|
-
|--------|------|------|--------|------|
|
|
16
|
-
| user_id | string | 是 | — | 小红书用户 ID |
|
|
17
|
-
| max_pages | int | 否 | 1 | 最大翻页数 |
|
|
18
|
-
| max_seconds | int | 否 | 50 | 最长运行时长(秒) |
|
|
19
|
-
|
|
20
|
-
> **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
|
|
21
|
-
|
|
22
|
-
## 响应参数
|
|
23
|
-
|
|
24
|
-
| 参数名 | 类型 | 说明 |
|
|
25
|
-
|--------|------|------|
|
|
26
|
-
| success | boolean | 是否成功 |
|
|
27
|
-
| message | string | 响应消息 |
|
|
28
|
-
| billing | object | 计费信息(service_fee / discount_applied / balance_before / balance_after / currency / pages_billed / total_service_fee / transaction_ids) |
|
|
29
|
-
| data.notes | array[object] | 笔记列表(见下) |
|
|
30
|
-
|
|
31
|
-
`data.notes[]` 字段:`noteId`(string)、`time`(int, 毫秒时间戳)、`title`(string)、`type`(string, normal/video)、`desc`(string)、`time_desc`(string)、`likes`(int)、`comments_count`(int)、`collected_count`(int)、`shared_count`(int)、`ip_location`(string)、`sticky`(bool)、`is_goods_note`(bool)、`has_music`(bool)、`user`(object{user_id, nickname, avatar})、`images`(array[{url, url_size_large, width, height}])。
|
|
32
|
-
视频笔记额外包含 `video`(object):`duration`(int)、`width`(int)、`height`(int)、`cover_url`(string)、`thumbnail_url`(string)、`streams`(array[{codec, quality, url, backup_urls, width, height, duration, fps, format, size}])。
|
|
33
|
-
|
|
34
|
-
## 请求示例
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
curl -X POST "http://plugin.aiconductor.fun/api/xhs_user_notes_v3" \
|
|
38
|
-
-H "Authorization: Bearer your_api_key" \
|
|
39
|
-
-H "Content-Type: application/json" \
|
|
40
|
-
-d '{"user_id": "5f8e9c1b0000000001001a2b", "max_pages": 3}'
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## 注意事项
|
|
44
|
-
1. 按页计费:每成功获取一页计费一次,余额不足、超时或上游无更多数据自动停止翻页。
|
|
45
|
-
2. 采用后扣费模式:仅成功获取并解析后才扣费,失败不扣费。
|
|
46
|
-
3. 翻页由内部维护 `cursor`(取每页最后一条笔记的 cursor),调用方无需关心。
|
|
47
|
-
4. 返回数据同时兼容图文(normal)与视频(video)笔记,视频笔记带 streams 流信息。
|
|
48
|
-
5. 上游单页请求超时 55s,最多重试 3 次。
|