SuperAPI AI 工具集

scraping-tiktok-videos-by-hashtag

数据与分析

查看项目

更新于 10-15 12:09

技能介绍

用途

该技能用于按话题标签或关键词抓取 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 服务器。

工作流程:

  1. 规范化话题标签列表。
  2. 运行 tiktok-scraper。
  3. 轮询直至状态为 SUCCEEDED。
  4. 交付视频数据集。

推荐使用 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 限制,可尝试其父类别标签。