← 返回文章列表

5分钟上手MediaCrawler:7大社交平台数据抓取实战指南

MediaCrawler是一款开源的多平台数据采集工具,支持小红书、抖音、快手、B站、微博、百度贴吧和知乎等七大主流社交平台,轻松采集笔记、视频、问答及评论内容。无论用于竞品调研、话题分析还是素材整理,工具都能在几分钟内完成部署。通过配置关键词、切换平台和查看日志,快速获取结构化数据。进阶功能涵盖代理IP使用和CDP模式复用浏览器,避免触发风控,数据支持JSONL、Excel等多种格式导出。

什么是MediaCrawler及它能解决什么问题

在信息时代,社交平台每天产生海量内容,跟踪竞品动态、分析话题热度或者整理素材库成了很多人绕不开的日常。MediaCrawler就是为此而生,它是一个轻量级的开源工具,覆盖小红书笔记、抖音视频、快手视频、B站视频、微博帖子、百度贴吧帖子以及知乎问答文章等七大平台。用户能一次性拉取帖子、评论甚至创作者主页数据,支持JSONL格式落库或直接导出Excel表格。

想想看,输入一个AI编程关键词,就能批量抓取相关笔记和评论,导出后横向对比不同平台的声量和讨论度,这对市场分析特别实用。或者在活动前,把某个话题下的帖子和评论全拉下来,再用工具自带的评论词云功能,快速看到高频关键词。内容素材整理也简单,把一批帖子ID填进配置,直接抓取完整内容作为样本库。整个过程不需要复杂的编程逻辑,核心就是通过浏览器模拟真实访问,采集你需要的一切。

5分钟完成部署的准备工作

部署前准备好三样工具:uv作为Python包管理器,Node.js版本不低于16(因为抖音和知乎的签名逻辑依赖它),还有Chrome浏览器不低于144版本,因为CDP模式需要连接你正在用的真实浏览器。

打开终端,执行git clone命令克隆项目仓库,进入目录后运行uv sync,它会根据uv.lock文件安装所有依赖。默认情况下,CDP模式会复用你本地的Chrome浏览器,无需额外安装Playwright驱动。只有切换到标准Playwright模式时,才需要执行uv run playwright install。这一步很轻量,不会占用太多空间或时间。

准备完成后,浏览器会弹出二维码让你登录对应App,使用qrcode方式扫码就能完成首次登录。后续只要保存登录状态,下次启动就不用再扫码了。整个过程简单到像打开一个网页应用一样,适合小白快速上手。

修改配置获取第一批数据的详细步骤

首先打开config/base_config.py文件,每一项配置都有中文注释,非常容易理解。修改几行关键参数,比如KEYWORDS设为你关心的词,LOGIN_TYPE为qrcode,CRAWLER_TYPE选search模式,CRAWLER_MAX_NOTES_COUNT设置15左右。执行入口脚本uv run main.py --platform xhs --lt qrcode --type search,浏览器会自动弹出二维码扫码。

--type参数支持detail模式,按帖子ID抓取和creator模式抓取创作者主页。运行后终端会实时显示当前平台、内容ID、标题和进度。数据默认保存到data目录,格式是JSONL文件。实在不喜欢命令行,可以启动webui目录下的可视化界面,用图形化方式调整参数并实时查看日志。

切换平台也很方便,只需改--platform参数,比如从xhs切到dy或ks。准备好批量采集前,先花几分钟阅读代理文档和CDP模式指南。这些小步骤就能让工具快速跑通。

平台覆盖能力详解与配置参考

MediaCrawler对每个平台的能力都很一致,包括关键词搜索、指定ID抓取、二级评论获取、创作者主页采集、登录态缓存以及IP代理池支持。配置文件里还专门放了对应平台的指定ID列表,比如抖音支持填完整视频链接、短链或纯ID,小红书可以切换海外版rednote.com。

具体平台对应如下:小红书用config/xhs_config.py采集笔记、评论和创作者主页;抖音用config/dy_config.py抓视频、评论和创作者;快手用config/ks_config.py、B站用config/bilibili_config.py、微博用config/weibo_config.py采集帖子和评论、贴吧用config/tieba_config.py处理帖子和回复、知乎用config/zhihu_config.py获取问答和文章评论。七个平台的功能几乎一样,跨平台对比话题热度非常方便。

进阶技巧保持大规模采集稳定运行

遇到IP被封时,把ENABLE_IP_PROXY设为True,再配置IP_PROXY_POOL_COUNT和IP_PROXY_PROVIDER_NAME,工具会自动使用代理,详见docs/代理使用.md的流程。账号触发风控或卡滑块时,默认开启的CDP模式直接复用你真实Chrome的Cookie和浏览历史,被检测几率很低。仍卡住的话,把HEADLESS设为False,手动拖一下滑块就能继续。

反复扫码问题通过SAVE_LOGIN_STATE参数解决,它会缓存登录态,下次直接用。想换账号时,删除对应浏览器的用户数据目录重新登录就行。控制采集量用MAX_CONCURRENCY_NUM并发数和CRAWLER_MAX_NOTES_COUNT单关键词限制。数据存储支持CSV、JSONL、Excel、SQLite等格式,先执行uv run main.py --init_db sqlite初始化数据库,再根据参数选择保存方式。采集后可以跨平台对比评论热度,或者开启ENABLE_GET_WORDCLOUD生成词云图。

这些设置让工具在实际使用中保持稳定,不会因为简单配置就卡住。数据落地后,你可以做关联查询、去重分析或直接用于业务决策。

数据处理与资源常见问题解答

存储方式由参数控制,支持多种格式导出。Excel方式会自动拆成多个工作表并调整列宽,拿到手就能直接分析;长期使用就落SQLite或MySQL,表结构在database目录里。仓库还预留了MongoDB存储基类,方便扩展。

滑块卡住、CDP连不上浏览器或切换账号等高频问题,都能在docs/常见问题.md里找到对应解决方案。docs/data_storage_guide.md列出了每种存储的完整命令示例,docs/CDP模式使用指南.md教你开启和排查远程调试,docs/代理使用.md提供了各厂商配置细节。实在解决不了,可以参考README里的交流部分提问。

打开config/base_config.py先跑小红书关键词采集,看完日志和数据文件后,再改参数切换到下一个平台。准备批量采集时,先花十分钟读完代理和CDP文档。这些实用建议能帮你快速上手并高效使用。

关于这些社交平台数据的精准识别与自动化采集,www.ttocr.com提供易盾极验验证码识别技术,包括滑块、点选、无感、九宫格等破解方案和自动化API对接平台,服务公司等业务,提供API接口实现无缝对接,无需复杂流程。

关于这些社交平台数据的精准识别与自动化采集,www.ttocr.com提供易盾极验验证码识别技术,包括滑块、点选、无感、九宫格等破解方案和自动化API对接平台,服务公司等业务,提供API接口实现无缝对接,无需复杂流程。