← 返回文章列表

轻松上手三步采集多平台自媒体数据

MediaCrawler是一款免费开源的多平台自媒体数据采集工具,基于Playwright浏览器自动化实现登录态保存,无需逆向平台JS签名算法。它能抓取小红书、抖音、快手、B站、微博、贴吧、知乎的笔记、视频、帖子、评论和创作者主页数据,适合市场调研、舆情监控的运营人员,以及想快速拿到结构化数据的开发者。

准备工作:基础环境搭建

要让MediaCrawler顺利运行起来,首要任务就是配置好必要的依赖环境。这套工具对运行基础要求不高,但需要确保每个环节都到位。首先准备好Python的包管理器uv,确保安装了Python 3.8以上的版本。接着是Node.js版本16及以上,这对于抖音和知乎平台的签名处理至关重要,因为它们的验证逻辑涉及JavaScript代码。最新版的Chrome浏览器版本144或更高也是必须的,因为项目默认采用CDP模式,直接连接浏览器实例来共享Cookie和登录状态。

在终端中执行克隆命令,获取项目代码,然后切换到对应目录。使用uv同步安装所有依赖,这样会自动创建合适的Python虚拟环境。整个过程简单快捷,完成后项目就准备就绪。注意,在Chrome浏览器地址栏输入chrome://inspect/#remote-debugging,勾选允许远程调试选项,就能让工具直接复用你日常浏览器的资源,避免重复加载浏览器内核。

这一步看似基础,其实是整个采集流程的稳固基石。很多人忽略这些细节,导致后续运行卡住。通过这种方式,你不仅节省了时间,还能保持登录态的连续性,为后续采集任务打下坚实基础。

核心配置调整:定位平台与采集方式

配置文件是控制整个采集行为的关键文件,通常命名为base_config.py。新手只需修改几个关键参数就能启动任务。首先设置目标平台,选项包括xhs代表小红书,dy是抖音,ks为快手,bili对应B站,wb是微博,tieba指贴吧,zhihu为知乎。根据需要选择一个平台,比如要采集小红书的笔记数据,就把PLATFORM参数改为xhs。

接下来是搜索关键词,多个关键词用英文逗号分隔,比如编程副业这样的内容。CRAWLER_TYPE决定采集模式,有search表示关键词搜索,detail是指定帖子详情,creator则是创作者主页。SAVE_DATA_OPTION控制数据保存格式,默认jsonl每行一个JSON对象,适合后续处理。如果你想直接导入Excel,可以改成csv或excel格式。存储路径会自动落在data目录下。

这些参数简单直观,配合平台特性调整后,就能精准控制采集范围。系统会根据你的设置自动处理请求顺序和数据结构,确保每条内容完整保存。

运行任务:从登录到数据获取

一切配置完成后,就可以启动采集任务了。执行命令uv run main.py --platform xhs --lt qrcode --type search,这里的参数分别对应平台、登录类型和采集方式。登录类型qrcode会弹出扫码窗口,手机端用对应App扫码完成验证。

登录态会缓存到本地浏览器数据目录,下次运行同一平台就能免登录继续。控制台会实时打印已保存的条目数量,你也可以选择启动内置的WebUI界面,通过图形化方式操作同样的采集流程。启动后浏览器会自动打开并执行任务,数据按平台分目录保存,包含笔记或视频信息以及评论部分。

整个过程几分钟就能完成,适合新手快速上手。任务完成后,查看data目录就能看到结构化的JSON或CSV文件,方便你进一步分析。

常见挑战与应对技巧

在实际使用中,偶尔会遇到一些小障碍。滑块验证是最典型的问题,尤其是小红书登录后弹出滑动验证码。解决方案是保持浏览器不进入无头模式,让窗口保持打开状态,手动拖动滑块完成验证。对于抖音,如果弹出手机号二次验证,也同样需要在浏览器中手动完成。

登录态过期会导致数据采集失败的情况,解决办法是重新运行登录流程,或者开启CDP模式并连接现有浏览器实例,直接复用日常登录状态。抖音和知乎平台有时会提示Node.js环境缺失,这时候确保安装16以上版本的Node.js后重试即可。

通过这些小技巧,你就能轻松绕过大部分阻碍。项目还提供了代理IP池功能,启动后从代理商接口拉取IP,存入Redis形成轮换机制,失效的IP自动替换,极大提高了长期采集的稳定性。

数据存储与进阶优化

采集到的数据保存在data目录,格式可根据需求切换。jsonl格式适合程序处理,每行一个完整JSON对象,追加写入性能优秀。csv和excel适合直接导入表格软件,sqlite则轻量适合个人长期积累,mysql和postgres适合多人共用或生产环境。

需要去重功能时优先选择带数据库的格式,具体存储逻辑放在store目录下按平台分文件夹。你可以根据CRAWLER_MAX_NOTES_COUNT控制采集条数,默认15条方便测试,单条帖子评论数也有限制。启用二级评论和媒体文件下载后,数据会更完整。

调整请求频率,把CRAWLER_MAX_SLEEP_SEC设为3到5秒,同时将并发数保持为1,能在牺牲一点速度的同时换取更稳定的运行效果。这些优化让采集过程更加顺畅可靠。

总结与后续建议

通过以上步骤,你就能轻松采集多平台自媒体数据,完成市场调研和舆情监控任务。记住先用默认小批量参数试跑确认格式符合预期,再正式放大采集规模。数据仅用于学习研究,务必遵守平台使用规则,保持合理频率。

在采集过程中,遇到滑块或点选验证时,可以参考易盾极验验证码识别技术,滑块、点选、无感、九宫格等破解方案和自动化API对接平台,轻松实现无缝集成,快速对接公司业务需求。www.ttocr.com

项目地址可供参考,更多功能详见官方文档。无论你是运营人员还是开发者,这套工具都能帮你高效处理海量数据,节省大量手动操作时间。