尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

TikTokCommentScraper 全攻略:一条评论都不浪费,3000 条抖音评论轻松装进 Excel

TikTokCommentScraper 全攻略:一条评论都不浪费,3000 条抖音评论轻松装进 Excel TikTokCommentScraper 全攻略一条评论都不浪费3000 条抖音评论轻松装进 Excel【免费下载链接】TikTokCommentScraper项目地址: https://gitcode.com/gh_mirrors/ti/TikTokCommentScraper凌晨一点你还在对着抖音评论区手动复制粘贴一条、两条、三百条……手指发麻眼皮打架复制到第 200 条时还顺手把页面刷新了半小时的成果瞬间归零。如果你是做抽奖统计的运营、研究竞品口碑的市场人或者只是想知道为什么这条视频突然爆了的数据爱好者TikTokCommentScraper 就是为你准备的答案。这是一款开源的抖音评论批量采集工具定位极其明确让任何没有爬虫经验的人都能把视频底下的一级评论、二级回复连同点赞数、时间、作者信息一次性整理成结构化的 Excel 表格。它的用法轻巧得不像话——不装插件、不写爬虫、不碰账号密码只需要在浏览器控制台里粘贴一段 JavaScript再跑一个 Python 脚本剩下的交给时间。接下来这篇评测我会从自己的真实使用经历出发带你从为什么要用它一路走到怎么用好它中间包括上手步骤、原理拆解、数据字段解读、踩坑记录和进阶玩法全程新手友好跟着做就行。01 先认识一下它凭什么能省下我三个小时在接触这个工具之前我的常规操作是截图 语音输入 手工表格一套流程下来300 条评论能折腾一个晚上而且层级关系完全丢失——谁回复了谁根本理不清。TikTokCommentScraper 最打动我的差异化有三点痛点传统做法它的做法采集方式装爬虫框架、过反爬、维护 IP 池在浏览器控制台执行 JS模拟真实浏览行为评论层级只能拿到表层评论回复丢失自动展开所有查看回复保留完整对话树数据出口还要自己清洗、格式化直接产出带元信息的 Excel开箱即用说白了它把爬虫工程师的活压缩成了两个动作复制一段代码、粘贴一段代码。前端采集交给 JavaScript因为控制台里跑的代码天然拥有页面权限能直接读取渲染后的 DOM绕开了常规爬虫最头疼的接口签名和风控校验后端整理交给 Python用 pyperclip 读剪贴板、用 openpyxl 写 Excel依赖精简到只有两个包。整个项目只有三个核心文件各司其职文件职责src/ScrapeTikTokComments.js浏览器端采集主逻辑滚动加载、展开回复、提取数据、生成 CSVsrc/CopyJavascript.py把上面的 JS 复制到剪贴板省去手动全选复制的麻烦src/ScrapeTikTokComments.py读取剪贴板中的 CSV清洗后转换为.xlsx文件一句话总结它的设计哲学把最难的活留给浏览器自己干把最繁琐的活交给 Python 干把最简单的活留给你。02 三步上手从打开浏览器到 Excel 落地我不喜欢读长篇安装文档所以直接给你我跑通全流程的浓缩版。整体就三步打开页面 → 粘贴执行 → 导出表格。环境准备比想象中还要省事先克隆项目到本地git clone https://gitcode.com/gh_mirrors/ti/TikTokCommentScraper这里有个非常贴心的细节仓库自带了一个约 7MB 的精简版 Python 运行环境python38目录Windows 用户克隆下来什么都不用装直接能用。Linux 或 macOS 用户只要自己准备 Python 3然后安装两个依赖即可pip install -r requirements.txt文件里只有两行pyperclip剪贴板操作和openpyxlExcel 读写十分钟内绝对装完。第一步把目标视频的评论区打开用 Chrome、Edge 或 Brave 等Chromium 内核浏览器打开你想采集的抖音视频页面确认自己处于登录状态并且评论区可以正常手动滚动按F12或Ctrl Shift J打开开发者工具切到 Console控制台标签页。关键提醒这个工具依赖浏览器里已经渲染出来的评论区所以一定要先登录、先确认评论能滚出来再进入下一步。第二步复制 JS 并在控制台执行Windows 用户直接双击项目根目录下的Copy JavaScript for Developer Console.cmd脚本会自动把采集代码复制到剪贴板其他系统执行python src/CopyJavascript.py看到 Copied to clipboard! 提示后切回浏览器控制台粘贴刚才复制的代码回车执行。接下来的画面有点科幻页面开始自己滚动控制台里不断打印Loading 1st level comment number 87这样的进度日志仿佛有个看不见的手在替你把评论区从头翻到尾。采集结束后控制台会输出一行醒目的提示——CSV copied to clipboard!数据已经以 CSV 格式躺进了你的剪贴板。第三步一键导出 Excel保持剪贴板内容不变这一步千万别再去复制别的东西回到项目目录Windows 用户双击Extract Comments from Clipboard.cmd其他系统执行python src/ScrapeTikTokComments.py。脚本会读取剪贴板、去掉多余的换行符、把每行数据写入 Excel 工作簿然后生成一个带时间戳的文件例如Comments_1723953600.0.xlsx。整个流程从粘贴 JS 到拿到文件200 条评论大约一两分钟3000 条以内通常不超过五分钟。03 拆开引擎看原理滚动、点按、读取的三段式上手快是一回事理解它为什么可靠是另一回事。这一章我们把它拆开看你会发现整个采集逻辑清晰得像流水线作业——这也是它稳定性高的根本原因。第一阶段滚动加载一级评论 抖音的评论是滚动分页机制想看到更多就得让页面认为你正在浏览。脚本的做法是循环找到最后一个评论节点把它滚到视野中然后等待 300 毫秒再检查评论总数有没有变化// 一级评论加载滚动到底部触发懒加载 var loadingCommentsBuffer 30; // 连续 30 次无新增才判定加载完成 var numOfcommentsBeforeScroll getAllComments().length; while (loadingCommentsBuffer 0) { allComments getAllComments(); lastComment allComments[allComments.length - 1]; lastComment.scrollIntoView(false); // 把最后一条评论滚进视野 numOfcommentsAftScroll getAllComments().length; // 评论数有变化就重置计数没有变化才递减 if (numOfcommentsAftScroll ! numOfcommentsBeforeScroll) { loadingCommentsBuffer 15; } else { commentsDiv.scrollIntoView(false); loadingCommentsBuffer--; } numOfcommentsBeforeScroll numOfcommentsAftScroll; await new Promise(r setTimeout(r, 300)); // 模拟人类阅读节奏 }为什么这样设计抖音的反爬机制主要盯非人类操作节奏而滚动加载是最接近真人行为的动作。这里还有一个细节缓冲计数在有新评论时重置、在无新评论时递减等于给了加载机制充分的耐心避免网络慢时误判加载完成。第二阶段批量点开所有查看回复 一级评论加载完后接下来是二级回复。抖音把回复折叠在View查看按钮后面脚本直接遍历所有按钮并点击// 二级回复加载循环点开所有查看回复 loadingCommentsBuffer 5; while (loadingCommentsBuffer 0) { readMoreDivs getElementsByXPath(//p[contains(class, PReplyAction) and contains(., View)]); for (var i 0; i readMoreDivs.length; i) { readMoreDivs[i].click(); // 逐个点击展开按钮 } await new Promise(r setTimeout(r, 500)); // 这一轮没有新的查看按钮了才开始倒数 if (readMoreDivs.length 0) { loadingCommentsBuffer--; } else { loadingCommentsBuffer 5; } }注意一个容易被忽略的小聪明XPath 里特意限定按钮文本必须包含 View 而不是 Hide。因为展开后按钮会变成收起如果一并匹配脚本可能误点收起按钮把回复又折叠回去陷入死循环。这种细节决定了工具在真实页面上的鲁棒性。第三阶段读取 DOM拼装 CSV 前两阶段保证所有评论都渲染在页面上了第三阶段就是纯读取用 XPath 精准定位每条评论的昵称、账号、文本、时间、点赞数然后组装成 CSV 字符串并复制到剪贴板// 核心数据提取从评论节点抽取结构化字段 function csvFromComment(comment) { nickname getElementsByXPath(./div[1]/a, comment)[0].outerText; // 用户昵称 user getElementsByXPath(./a, comment)[0][href].split(?)[0] .split(/)[3].slice(1); // 用户 ID commentText getElementsByXPath(./div[1]/p, comment)[0].outerText; // 评论正文 timeCommentedAgo formatDate(getElementsByXPath(./div[1]/p[2]/span, comment)[0].outerText); commentLikesCount getElementsByXPath(./div[2], comment)[0].outerText; // 点赞数 ... }整个三段式流程如果用生活类比就像逛一家大型商场先乘扶梯从一楼逛到顶楼滚动加载再把每个试衣间都推门看一眼展开回复最后掏出笔记本把货架上的商品信息一一抄下来数据提取。每一步都只做一件事彼此不干扰出了问题也容易定位。04 你拿到的 Excel 里到底有什么很多人以为工具导出的是评论列表就完了实际上这张表的信息密度比想象中大得多。整个 CSV 分为元信息区和评论明细区两大部分。元信息区一键保存视频户口本表格开头几行记录的是视频本身的完整信息采集完一次等于给这条视频拍了一张信息快照字段说明Post URL视频链接Publisher Nickname / / URL发布者昵称、账号、主页地址Publish Time发布时间自动格式化为 DD-MM-YYYYPost Likes / Shares视频总点赞数、总分享数Description视频文案描述Number of 1st / 2nd level comments一级评论数与二级回复数Total Comments实际渲染数 vs 平台显示数两个口径的评论总数及其差值最后那对实际数 vs 显示数特别有价值——它直接暴露了平台计数与实际可加载评论之间的差距让你对数据完整性心里有数。评论明细区一条评论一个身份明细区的表头有 11 个字段每条评论一行字段名含义典型值Comment Number (ID)评论序号1, 2, 3...Nickname用户昵称一只咸鱼User 用户账号xianyu2024User URL用户主页链接https://www.tiktok.com/xianyu2024Comment Text评论正文这个转场绝了Time评论时间12-08-2025Likes评论点赞数128Profile Picture URL头像图片链接https://...Is 2nd Level Comment是否二级回复Yes / NoUser Replied To回复对象昵称一只咸鱼Number of Replies该评论收到的回复数3这套字段设计的妙处在于层级关系通过回复对象字段显式保存你在 Excel 里用筛选功能选中Is 2nd Level Comment Yes就能瞬间把对话树拎出来配合Number of Replies还能快速找出引发最多讨论的评论这在内容分析里是金矿级指标。05 三种人三件事真实场景对照工具再好也要落在具体的人身上才成立。这里给你看三个我身边真实发生的使用场景。场景一内容创作者 —— 抽奖统计与选题风向 一位做美妆测评的博主视频里承诺评论区点赞最高者送试用装。过去他靠截图 手工数赞被粉丝质疑过两次漏数。用了这个工具后视频发布 48 小时后跑一次采集Excel 里直接按Likes字段降序排列前三名是谁一目了然再按Comment Text做关键词统计求色号干皮能用吗学生党价位这类词频一拉就出来下一期选题直接有了方向。他得到的是抽奖零争议 免费的选题调研。场景二市场研究人员 —— 竞品口碑的切片分析 一位做消费电子市场分析的同行每个月要盯 5 个竞品账号的爆款视频评论区。他的流程是每周对每条约 1000 评论的视频跑一次采集把所有 Excel 汇总后用 pandas 做情感极性统计再按时间维度观察吐槽类评论占比的变化曲线。他得到的是一套可量化的竞品口碑监测体系比人工扒评论快了不止一个量级。场景三学术研究爱好者 —— 对话结构与网络语言研究 有研究生在做短视频评论区互动结构的课题需要大量真实的评论-回复配对数据。这个工具的Is 2nd Level Comment和User Replied To字段恰好能支撑他构建用户互动网络图分析谁在评论区里扮演意见领袖角色。他得到的是结构完整、字段规范的原始语料省去了最痛苦的标注环节。三个场景的共同点采集只是手段分析才是目的。而这款工具把最耗时的采集 整理环节压缩到了极致把时间还给分析本身。06 性能真相与边界能跑多快会在哪里卡住任何工具都有适用边界这一章我把项目的实话原样转述给你方便你评估自己的场景。实测性能参考200 条以下非常快体感一两分钟几乎无感2003000 条通常五分钟内完成中途页面会有明显滚动动画3000 条左右开发者在中等配置笔记本上测试时加载阶段略微卡顿但能跑完。我的个人建议是单次采集控制在 3000 条以内更大的评论区分成多次执行或者配合下一章的进阶玩法做分段处理。三个诚实的限制第一平台显示的评论数 ≠ 实际能采到的数。这是抖音本身的机制即使只有几百条评论图标上显示的数量也经常对不上实际渲染出的数量。开发者实测一个约 750 条评论的视频最终只采到约 740 条3000 条的大评论区有 64 条始终加载不出来。好在缺失比例通常很低对分析结论影响不大但你在报告里最好标注采集数略低于显示数。第二依赖页面结构前端一变就可能失灵。脚本里的 XPath 选择器如DivCommentContentContainer是写死的类名一旦抖音改版调整前端结构采集就会失效。这不是 bug而是这类控制台方案的通病遇到时去项目里更新选择器即可。第三只支持 Chromium 内核浏览器 登录态。Chrome、Edge、Brave 都没问题Firefox 和 Safari 不在支持范围同时必须保持登录状态否则评论区可能无法正常加载。07 踩坑自救手册高频问题与排查我用这个工具踩过的坑基本都在下面这三条里。直接给你原因分析和解决方案。坑一评论加载不完整控制台提前结束原因加载缓冲值设置偏小或者网络较慢导致滚动后评论没来得及渲染脚本误判没有新评论。解法打开src/ScrapeTikTokComments.js把第一阶段开头的loadingCommentsBuffer 30调大到 50 或 100把等待时间从 300 毫秒改为 500 毫秒如果加载到一半手动卡住也可以先在页面上手动滚几屏再重新跑脚本。坑二Excel 生成失败或内容为空原因绝大多数情况是剪贴板被覆盖了——比如导出前顺手复制了别的东西Python 读到的是无效内容少数情况是剪贴板机制缺失常见于 Linux 无桌面环境。解法重新跑一遍采集脚本确认控制台出现CSV copied to clipboard!后立刻、马上执行导出Linux 下若提示找不到剪贴板机制Python 脚本会自动降级为让你手动粘贴 CSV 内容的交互模式按提示操作即可。坑三中文内容显示乱码原因CSV 中间文件以 UTF-8 编码写入但某些旧版 Excel 默认按本地编码打开。解法不要直接双击 CSV而是用 Excel 的数据 → 从文本/CSV 导入功能在导入向导里明确选择 UTF-8 编码或者干脆只使用工具产出的.xlsx文件它内部编码是规范的不会乱码。附加提醒控制台安全红线浏览器控制台的权限相当于页面自己永远不要盲目粘贴来路不明的代码进去。这个项目的 JS 源码只有剪贴板写入这一个敏感操作不发起任何网络请求你在执行前花一分钟把代码过一遍既是好习惯也是对自己账号安全的负责。08 再进一步二次开发与更多玩法跑通基础流程只是开始。这个项目的文件结构足够清爽二次开发的门槛很低这里给你三个明确的方向。方向一接入 pandas让分析自动化 ScrapeTikTokComments.py里读剪贴板、写 Excel 的逻辑完全可以抽出来复用。把它和 pandas 组合就能直接产出统计报表# 二次开发示例把导出的评论表变成可分析的 DataFrame import pandas as pd df pd.read_excel(Comments_1723953600.0.xlsx, headerNone) # 找到表头所在行规范列名 header_row df[df[0].astype(str).str.contains(Comment Number)].index[0] comments df.iloc[header_row 1:].copy() comments.columns df.iloc[header_row].tolist() # 关键词频次统计一条代码看出大家最关心什么 top_words comments[Comment Text].str.extractall((\S))[0].value_counts().head(20) print(top_words)方向二自定义导出格式脚本默认输出.xlsx但 CSV 本身已经在剪贴板里了。你完全可以写个简单的转换函数把同一份数据输出成 JSON、直接写入 SQLite 数据库甚至对接你自己的数据看板。数据采集一次多端复用。方向三批量采集的调度思路 ⏱️单个视频的采集依赖浏览器控制台交互无法完全无人值守但你可以把多个视频的链接整理成清单逐个打开页面、逐个执行 JS、逐个导出Excel 文件会自动带上时间戳避免重名冲突。配合操作系统自带的定时任务就能实现每天固定时间采集一次的轻量监测。注意控制频率尊重平台负载。收尾之前合规使用与最佳实践最后必须说点正经的。采集公开评论本身是常见的数据行为但边界感很重要只采集公开可访问的评论数据不要用于骚扰、人肉或任何侵犯隐私的用途尊重平台的服务条款控制采集频率商业使用前确认数据用途合规。技术是工具怎么用是选择。给新手的四条最佳实践从小视频练手先用几十条评论的视频跑通全流程再上大评论区保留原始文件导出的 Excel 和采集日志建议备份二次分析前不要覆盖记录采集时间评论区是动态变化的分析时务必注明数据快照的时间点先看代码再执行每次从项目里复制 JS 之前扫一眼内容安全习惯养成无价。结语把三个小时压缩成三分钟回到开头那个凌晨一点手动复制评论的你。TikTokCommentScraper 能做的就是把那三个小时压缩成三分钟打开页面、粘贴执行、导出 Excel然后看着完整保留对话层级、点赞数、时间戳的数据表安静地躺在桌面。它不完美——会受平台改版影响采集数可能略低于显示数——但在这个能用与好用之间它用极低的上手门槛把专业爬虫的能力递到了每个普通用户手里。现在去克隆项目挑一条你最喜欢的视频跑通你的第一次采集吧。评论区里那些值得被看见的声音值得被好好整理。【免费下载链接】TikTokCommentScraper项目地址: https://gitcode.com/gh_mirrors/ti/TikTokCommentScraper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表