TikTok Scraper:无需登录,批量抓取 TikTok 数据的命令行工具

TikTok Scraper:无需登录,批量抓取 TikTok 数据的命令行工具
文章目录TikTok Scraper无需登录批量抓取 TikTok 数据的命令行工具TikTok Scraper无需登录批量抓取 TikTok 数据的命令行工具TikTok Scraper 是一个开源的 Node.js 工具在 GitHub 上获得了 5000 多个 Star。它的功能很明确从 TikTok 抓取视频、用户信息、话题数据等内容支持批量下载而且不需要登录账号。这个工具通过 TikTok 的 Web API 来获取数据不是官方接口但覆盖了日常数据采集的大部分场景。它能做什么抓取单个用户的全部视频、某个话题下的视频、当前热门趋势、指定音乐 ID 关联的视频。除了视频本身还能提取作者信息、音乐信息、点赞数、播放量、评论数等元数据。数据导出方面支持保存为 JSON 或 CSV 文件。视频下载支持带水印和无水印两种模式无水印模式下还提供 HD 画质选项。一个实用的功能是下载历史记录开启后工具会记住之前下载过哪些视频再次运行时只抓取新内容避免重复下载。命令行用法安装只需要 Node.js v10 以上版本通过 npm 全局安装npm i -g tiktok-scraper基本命令格式tiktok-scraper command [options]几个常见用法下载某个用户的最新 100 个视频tiktok-scraper user USERNAME -d -n 100抓取某个话题下的视频tiktok-scraper hashtag HASHTAG_NAME -d -n 100下载当前热门视频tiktok-scraper trend -d -n 100下载单个视频无水印tiktok-scraper video VIDEO_URL -d查看之前的下载历史tiktok-scraper history还可以通过--proxy参数设置代理通过--session传入会话 Cookie应对 IP 被限制的情况。批量模式下把多个目标写进文件用from-file命令一次性处理。作为模块调用除了命令行TikTok Scraper 也可以作为 Node.js 模块在代码中使用。它同时提供 Promise 和 Event 两种调用方式。Promise 方式constTikTokScraperrequire(tiktok-scraper);(async(){constpostsawaitTikTokScraper.user(USERNAME,{number:100,sessionList:[sid_ttyour_session_value;]});console.log(posts);})();Event 方式适合处理大量数据边抓取边处理constusersTikTokScraper.userEvent(tiktok,{number:30});users.on(data,json{// 每条数据到达时触发});users.on(done,(){// 抓取完成});users.scrape();还有一个独立方法getVideoMeta传入视频链接就能获取包括无水印地址在内的完整元数据。Docker 支持不想本地安装 Node.js 环境的话可以用 Docker 运行docker build . -t tiktok-scraper docker run -v $(pwd):/usr/app/files tiktok-scraper user tiktok -d -n 5通过-v指定宿主机目录下载的文件和历史记录都会保存在那里。需要注意的几点目前无法下载无水印视频指的是通过 CLI 批量下载 Hashtag Feed 时的默认行为单个视频和用户 Feed 可以获取无水印链接。抓取频率过高可能导致 IP 被 TikTok 限制建议配合代理和 session 使用。这个工具依赖 TikTok 的 Web API如果 TikTok 调整接口可能需要等待项目更新适配。Feed 可以获取无水印链接。抓取频率过高可能导致 IP 被 TikTok 限制建议配合代理和 session 使用。这个工具依赖 TikTok 的 Web API如果 TikTok 调整接口可能需要等待项目更新适配。