用途
该技能用于按话题标签或关键词抓取 TikTok 视频,返回完整的视频元数据,包括互动指标和作者信息。当用户要求获取某个话题标签下的所有 TikTok 视频、按关键词搜索帖子等场景时触发。
主要能力
输入参数包括:
- startUrls(数组,可选,默认空):TikTok 链接,支持用户主页、话题标签、音乐页、搜索、位置。
- keywords(数组,可选,默认空):用于查找帖子的搜索关键词/词条。
- sortType(字符串,可选,默认 RELEVANCE):关键词结果排序方式,可选 RELEVANCE、MOST_LIKED、DATE_POSTED。
- location(字符串,可选):用于区域过滤的 ISO 3166-1 alpha-2 国家代码(如 US、GB)。
- maxItems(数字,可选,默认不限):整个运行返回的最大帖子数。
- includeSearchKeywords(布尔,可选,默认 false):为每条帖子添加匹配的搜索关键词字段。
- customMapFunction(字符串,可选):用于转换每个输出对象的 JavaScript 函数。
输出字段包括:videoId、authorUsername、desc、playCount、diggCount、commentCount、shareCount、createTime、videoUrl、musicTitle、hashtags、isAd。
使用方式
前置条件:设置 APIFY_TOKEN 环境变量;可选安装 Apify MCP 服务器。
工作流程:
- 规范化话题标签列表。
- 运行 tiktok-scraper。
- 轮询直至状态为 SUCCEEDED。
- 交付视频数据集。
推荐使用 run_actor.js 运行 Actor(自动处理等待、输出和文件保存):
快速答案(在聊天中打印表格):
node scripts/run_actor.js \
--actor "apidojo~tiktok-scraper" \
--input '{"param": "value"}'
保存为 CSV:
node scripts/run_actor.js \
--actor "apidojo~tiktok-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
保存为 JSON:
node scripts/run_actor.js \
--actor "apidojo~tiktok-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
APIFY_TOKEN 必须设置在环境变量或 .env 文件中。
如果 Apify MCP 可用:
工具:apify:run-actor,Actor:"apidojo~tiktok-scraper",输入示例:
{
"keywords": ["tag1", "tag2"],
"maxItems": 100
}
REST API 备用方式:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tiktok-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords": ["tag1", "tag2"], "maxItems": 100}'
保存返回的 id 为 RUN_ID,轮询直至 status = SUCCEEDED:
curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'
获取结果:
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN&format=json"
输出格式示例:
# TikTok Video Dataset: #<hashtag>
Videos collected: N | Hashtags queried: N
| Video ID | Author | Caption (truncated) | Views | Likes | Comments | Shares | Posted |
|----------|--------|---------------------|-------|-------|----------|--------|--------|
| ... | ... | ... | ... | ... | ... | ... | ... |
适用场景
适合需要按话题标签或关键词批量获取 TikTok 视频原始数据集的场景,例如话题内容分析、互动指标统计、作者信息整理等。
限制与边界情况
- 某话题标签返回 0 条结果:该标签可能已被 TikTok 封禁或拼写错误,可尝试其他拼写。
- 结果少于 20 条:该话题标签可能非常小众,应向用户说明并返回已有结果。
- 跨话题标签出现重复 videoId:按 videoId 字段去重。
- 运行缓慢:TikTok 限流严重,每次运行建议以 maxItems: 200 为安全上限。
- 被封禁的话题标签返回 0:部分话题标签受 TikTok 限制,可尝试其父类别标签。