本技能名为 Scraping TikTok User Data,用于抓取 TikTok 用户的详细数据及近期视频历史。它使用 Apify 平台上 apidojo 的 TikTok User 抓取器(actor 标识为 apidojo~tiktok-user-scraper),与 scraping-tiktok-profile-data(账号层面)互补,提供视频层面的明细数据,即导出某个创作者完整的视频历史及每条视频的互动指标。
触发时机:当用户要求获取某账号的所有视频或相关视频数据时触发。
前提条件:
- 需设置 APIFY_TOKEN 环境变量;
- 可选:安装 Apify MCP 服务器。
输入参数:
- startUrls(数组,必填,默认 []):TikTok 主页链接或视频链接(从视频中提取作者);
- getFollowers(布尔,可选,默认 false):是否同时提取完整的粉丝列表;
- getFollowing(布尔,可选,默认 false):是否同时提取完整的关注列表;
- maxItems(数字,可选,默认无限制):返回的最大用户数;
- customMapFunction(字符串,可选,默认无):用于转换每个输出对象的 JavaScript 函数。
工作流程分为三步:
- 运行 tiktok-user-scraper;
- 轮询直至状态为 SUCCEEDED;
- 交付视频数据集。
第一步:运行 Actor。推荐使用 run_actor.js(自动处理等待、输出与文件保存)。示例命令包括直接输出表格、保存为 CSV、保存为 JSON。APIFY_TOKEN 必须设置在环境变量或 .env 文件中。若 Apify MCP 可用,可使用工具 apify:run-actor,Actor 为 "apidojo~tiktok-user-scraper",输入示例为 {"username": "<handle>", "maxVideos": 50}。也可使用 REST API 作为后备:通过 POST 请求运行 actor,保存返回的 id 为 RUN_ID,然后轮询状态直至 SUCCEEDED,最后获取数据集结果。
边界情况处理:
- 私密账号:返回 0 条视频,需告知用户;
- 账号视频数少于请求数:返回全部可用视频,并在输出中标注数量;
- 信息流中出现已删除视频:跳过缺少 playCount 字段的条目。
输出格式:以 TikTok 视频历史表格呈现,包含视频 ID、字幕(截断)、播放量、点赞、评论、分享、时长、发布时间等列。可用字段包括:videoId、desc、playCount、diggCount、commentCount、shareCount、duration、createTime、videoUrl、musicTitle、hashtags。
故障排查:若返回 0 条视频,说明账号为私密或用户名错误。计费方式为按结果计费(pay-per-result),可通过设置 maxVideos 来控制成本。