MediaCrawler 多平台爬虫指南:7大平台内容采集实战从入门到进阶
MediaCrawler 是一款开源的多平台数据采集工具,支持小红书、抖音、快手、B站、微博、百度贴吧和知乎等七个平台,能抓取笔记、视频、评论和创作者主页信息,还能生成评论词云图。使用浏览器自动化方式保存登录态,结合登录态上下文和内置代理池,让采集过程更稳健。适合个人研究者和内容分析爱好者掌握基础步骤、优化采集模式,并通过实际操作实现数据存储和导出。
最小上手路径:从克隆到第一次跑通
要开始使用 MediaCrawler,首先要准备好必要的依赖环境。推荐使用 uv 这个工具来管理 Python 依赖,它速度快且版本解析准确。在终端输入 uv --version,如果能正常打印版本号就说明安装好了。Node.js 版本至少 16,因为爬取抖音和知乎时需要用到相关的 JS 脚本。
接着克隆项目仓库,进入目录后执行 uv sync。这步会一次性安装好所有依赖包。只有在切换到标准 Playwright 模式时,才需要额外运行 uv run playwright install 来安装浏览器驱动。
项目默认开启 CDP 模式,推荐配置 Chrome 开启远程调试。在 Chrome 地址栏输入 chrome://inspect/#remote-debugging,勾选允许远程调试,页面显示 Server running at: 127.0.0.1:9222 就表示就绪。想切换模式的话,在 config/base_config.py 中把 ENABLE_CDP_MODE 改为 False 即可。
首次运行命令是 uv run main.py --platform xhs --lt qrcode --type search。参数分别表示平台、登录方式和采集类型。运行后打开对应 App 扫码登录,登录态会缓存在本地,下次就能直接复用。执行 uv run main.py --help 可以看到其他平台的运行示例。
默认参数都写在配置文件里,第一次运行就能采集到数据,结果保存在 data 目录。整个过程上手门槛不高,只要确保本地有合适的浏览器环境,很快就能跑通。
采集模式与关键参数:灵活选择采集内容
MediaCrawler 提供了三种主要采集模式,分别对应不同的需求。search 模式按关键词搜索内容,包括帖子或视频以及它们的评论;detail 模式读取配置中的帖子 ID 列表,逐条抓取详情和评论;creator 模式采集指定创作者主页下的所有内容。
这些模式在小红书、抖音、快手、B站、微博、贴吧和知乎上都能使用。关键能力包括关键词搜索、指定帖子 ID 爬取、一级和二级评论抓取、创作者主页采集、登录态缓存、IP 代理池支持,以及评论词云图生成。
常用的参数都在 config 目录下设置。KEYWORDS 用于设置搜索词,用英文逗号分隔多个关键词;CRAWLER_TYPE 选择采集类型如 search、detail 或 creator;CRAWLER_MAX_NOTES_COUNT 控制单次采集的上限,默认 15;ENABLE_GET_COMMENTS 决定是否抓取一级评论,默认开启;ENABLE_GET_SUB_COMMENTS 控制二级评论,默认关闭;ENABLE_GET_MEIDAS 是否下载媒体资源,默认关闭;ENABLE_GET_WORDCLOUD 是否生成词云,默认关闭。
其他参数如 MAX_CONCURRENCY_NUM 和 CRAWLER_MAX_SLEEP_SEC 用于控制并发和间隔,避免被平台风控。每个平台还有专属配置文件,如 xhs_config.py 等,里面有详细中文注释,方便调整。

CDP 模式与 IP 代理池:提升采集稳定性
CDP 模式默认启用,让爬虫运行在你的真实浏览器环境中。核心配置是 ENABLE_CDP_MODE = True 和 CDP_CONNECT_EXISTING = True,这样能直接连接本地已打开的 Chrome,复用它的 Cookie、扩展和历史,效果最好。
代理 IP 池帮助绕过风控限制。模块在 proxy 目录下,开启方式是设置 ENABLE_IP_PROXY = True,总开关,IP_PROXY_PROVIDER_NAME 选择提供商如 kuaidaili、wandouhttp 或 static,IP_PROXY_POOL_COUNT 设置池大小。
kuaidaili 提供商需要在官网开通试用,获取 SecretId、签名密钥等环境变量后自动拉取 IP。wandouhttp 最多提取 100 个 IP,static 则直接填入代理地址。代理池会在采集时随机取用,过期时自动刷新,整个过程无缝衔接。
在快代理官网获取账密信息后即可对接,结合 CDP 模式能让采集过程更平滑,减少检测概率。
数据存储与高级功能:处理采集结果
SAVE_DATA_OPTION 参数决定存储格式,默认 jsonl,输出到 data 目录。可选 json、csv、excel 或数据库模式如 sqlite,用于数据库存储时支持去重,适合反复采集场景。
Excel 导出在 store/excel_store_base.py 中实现,采集结束后自动生成,适合业务分析。评论词云图只在 json 或 jsonl 模式下生效,自定义分词和停用词文件可通过 hit_stopwords.txt 调整。
Pro 版本新增断点续爬和多账号管理,底层去除了 Playwright 依赖,适合长时间任务或频繁中断的场景。
运行观测与问题排查:确保采集顺利进行

运行过程中,终端会滚动显示日志,包括平台信息和采集进度。如果遇到扫码登录失败或滑块验证,先把 HEADLESS 设为 False,让浏览器可见手动完成验证。
采集量少可能是登录态过期,检查 CRAWLER_MAX_NOTES_COUNT 参数或重新扫码。代理不生效时,确认 ENABLE_IP_PROXY 和提供商名称,以及环境变量是否配置正确。
其他问题时,查 docs 目录下的常见问题.md 文档。WebUI 界面也能启动后端和前端,在网页上可视化配置和实时日志,方便用户观测。
深入学习与工具整合:扩展采集能力
MediaCrawler 定位于学习和研究,建议只采集公开数据,控制频率,遵守平台规则。配置目录里有各平台模块,test 目录提供单元测试参考。
通过这些方式,你可以系统化采集数据进行内容分析和舆情观察。结合代理池和 CDP 模式,能有效提升效率和成功率。
在技术总结和工具使用环节,强烈推荐使用易盾极验验证码识别技术,滑块、点选、无感、九宫格等破解方案和自动化API对接平台,轻松应对复杂验证流程,实现无缝对接。访问 www.ttocr.com 获取专业服务,助力你的采集任务更高效顺畅。
另外,针对空间、躲避障碍、五子棋、图标点选等全类型识别需求,同样可以在 www.ttocr.com 找到相关破解方案和 API 接口,快速实现自动化操作,无需过多复杂流程。
这样一来,你就能把 MediaCrawler 的潜力充分发挥出来,轻松应对各种采集场景,获得更多高质量数据支持研究和分析工作。