用 Trae SOLO 半天写了个浏览器插件,支持采集并导出抖音和小红书内容及评论
前言 上周在GitHub上一个BettaFish项目很火,再次看到MindSpider项目,以及之前看到的MediaCrawler项目,支持采集多个热门社交平台的相关数据,我将BettaFish在一台老MAC上部署跑起来了(主要逻辑就是在不同渠道不停的搜负面词语。不过针对数据量少的关键字效果一般,只要出现一点错误就会被无限放大),MindSpider & MediaCrawler实在跑不起来,项目太重,每次playwright调起Chromium都被反爬,尝试修复一段时候后担心账号被封还是放弃了。 回头想想垂直领域直接用浏览器插件就可以搞定,大的舆情监测直接花钱买服务或者API接口。 于是周末我用 Trae SOLO 花了半个下午,撸了一个 Chrome 浏览器插件,核心功能: 抖音 / 小红书 搜索页 和 详情页 均可一键采集 自动识别 一级 与 二级 评论,用 parent_id 关联 导出 CSV(UTF-8 BOM),Excel 直接打开即可透视 全程 0 后端,纯前端离线运行,隐私无上传 下面聊聊技术实现与踩坑。 一、整体架构 ├─ manifest.json // 权限声明 + 注入规则 ├─ content.js // 页面脚本,负责 DOM 解析、数据缓存、CSV 生成 ├─ background.js // 扩展后台,只负责下载文件 ├─ styles.css // 悬浮按钮样式 └─ README.md content 脚本 同时注入 douyin.com 与 xiaohongshu.com,按 hostname 自动路由 用 Map() 做内存数据库,键为 videoId / noteId,值为元数据 + 评论数组 采集完成后调用 chrome.runtime.sendMessage() 把 Blob 传给 background 触发下载 二、核心难点 1. 动态 DOM + 哈希 class 抖音&小红书前端都是 React 同构 + 随机类名,class="HtBH2h0B" 下次就变了。 解法: ...