关于 scraping-tiktok-videos-by-hashtag
用于调用 Apify TikTok scraper 的数据采集技能,可按标签、关键词或指定的 TikTok URL 获取视频元数据。
主要功能
- 01搜索关键词或提供的 TikTok URL
- 02按相关度、点赞数或日期排序
- 03按国家筛选结果
- 04返回视频元数据和互动指标
- 05支持限制结果数和转换输出
适用场景
- 01收集标签或关键词相关视频
- 02比较特定地区搜索结果的视频互动
- 03从 TikTok URL 构建限定数量的数据集
MCP 相关
如已安装 Apify MCP 服务,可通过其 run-actor 工具调用 Apify Actor。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ apidojo-io/ apidojo-skills --skill scraping-tiktok-videos-by-hashtag安装后在 Claude Code 中输入/scraping-tiktok-videos-by-hashtag确认已加载。
详细介绍
按话题标签抓取 TikTok 视频
适用于任意 TikTok 话题标签或关键词的原始视频数据集。返回完整的视频元数据,包括互动指标和作者信息。
前置条件
- 已设置
APIFY_TOKEN环境变量 - 可选:已安装 Apify MCP 服务
输入
| 参数 | 类型 | 必填 | 默认值 | 备注 |
|---|---|---|---|---|
startUrls | 数组 | 可选 | [] | TikTok URL — 用户个人资料、话题标签、音乐页面、搜索、地点 |
keywords | 数组 | 可选 | [] | 用于查找帖子的搜索关键词/词语 |
sortType | 字符串 | 可选 | RELEVANCE | 关键词结果的排序方式:RELEVANCE、MOST_LIKED、DATE_POSTED |
location | 字符串 | 可选 | — | 用于区域筛选的 ISO 3166-1 alpha-2 国家代码(例如 US、GB) |
maxItems | 数字 | 可选 | 不限 | 本次运行最多返回的帖子数量 |
includeSearchKeywords | 布尔值 | 可选 | false | 将匹配的搜索关键词字段添加到每条帖子中 |
customMapFunction | 字符串 | 可选 | — | 用于转换每个输出对象的 JavaScript 函数 |
工作流
Progress:
- [ ] Step 1: Normalize hashtag list
- [ ] Step 2: Run tiktok-scraper
- [ ] Step 3: Poll for SUCCEEDED
- [ ] Step 4: Deliver video dataset
第 2 步:运行 Actor
推荐 — run_actor.js(自动处理等待、输出和文件保存):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~tiktok-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~tiktok-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~tiktok-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
必须在环境变量或
.env文件中设置APIFY_TOKEN。
如果 Apify MCP 可用:
Tool: apify:run-actor
Actor: "apidojo~tiktok-scraper"
Input:
{
"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"
第 3 步:处理边缘情况
- 话题标签返回 0 条结果:TikTok 可能已封禁该话题标签,或其拼写有误。尝试其他拼写。
- 结果少于 20 条:该话题标签可能非常小众 — 告知用户,并返回现有结果。
- 不同话题标签下的视频 ID 重复:按
videoId字段去重。
输出格式
# TikTok Video Dataset: #<hashtag>
Videos collected: N | Hashtags queried: N
| Video ID | Author | Caption (truncated) | Views | Likes | Comments | Shares | Posted |
|----------|--------|---------------------|-------|-------|----------|--------|--------|
| ... | ... | ... | ... | ... | ... | ... | ... |
Available fields: videoId, authorUsername, desc, playCount, diggCount, commentCount,
shareCount, createTime, videoUrl, musicTitle, hashtags, isAd
故障排除
被封禁的话题标签返回 0 条结果: TikTok 会限制某些话题标签 — 尝试使用其上级类别标签。
运行缓慢: TikTok 的速率限制很严格;每次运行将 maxItems 设为 200 是较安全的上限。
评论
支持 Markdown