news 2026/9/17 5:39:59

MediaCrawler 多平台数据采集终极指南:7 个平台的内容与评论一次搞定

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MediaCrawler 多平台数据采集终极指南:7 个平台的内容与评论一次搞定

MediaCrawler 多平台数据采集终极指南:7 个平台的内容与评论一次搞定

【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 | 评论爬虫、微博帖子 | 评论爬虫、百度贴吧帖子 | 百度贴吧评论回复爬虫 | 知乎问答文章|评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler

MediaCrawler 是一款开源的多平台数据采集工具,覆盖小红书、抖音、快手、B站、微博、贴吧、知乎共 7 个平台,抓帖子、视频、评论,登录一次即可复用登录态。适合做内容分析、竞品监控的运营同学,也适合想入门爬虫的新手跟着练手。

手动采集社媒数据的三个麻烦

在写爬虫之前,大多数人干过这种事:

  1. 复制粘贴太慢。想收集一批关键词下的小红书笔记或抖音视频数据,手动打开网页、复制标题和正文,几十条下来眼睛就花了,数据格式还参差不齐。
  2. 评论根本没法人工整理。一条热门视频底下上千条评论,人工记录不现实,可评论恰恰是做舆情和内容分析最有价值的部分。
  3. 平台规则各不相同。每个平台的页面结构、登录方式、参数签名都不一样,自己写爬虫就得为 7 个平台分别折腾,门槛高。

MediaCrawler 的思路是:用浏览器自动化(基于 Playwright)登录并保留登录态,在浏览器环境里取签名参数,绕开了各平台 JS 签名逆向这个最难的坑。7 个平台的采集逻辑都封装好了,你只需要配置和启动。

从 0 到跑起来:五步完成安装配置

先准备两个前置环境:uv(Python 包管理工具,速度快,装依赖一致性更好)和Node.js 16 以上(抖音、知乎两个平台需要用到)。

然后按顺序执行:

# 第一步:克隆仓库 git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler cd MediaCrawler # 第二步:安装 Python 依赖(推荐用 uv,保证版本一致) uv sync # 第三步(可选):标准 Playwright 模式需要浏览器驱动,CDP 模式可跳过 uv run playwright install

配置集中放在 config/base_config.py,每个平台还有各自的配置文件(如 config/dy_config.py),全部带中文注释。新手重点看这几个值:

  • PLATFORM:选平台,xhs/dy/ks/bili/wb/tieba/zhihu
  • KEYWORDS:关键词,多个用英文逗号分隔
  • CRAWLER_TYPEsearch(关键词搜索)、detail(指定帖子)、creator(创作者主页)
  • CRAWLER_MAX_NOTES_COUNT:采集帖子/视频数量上限
  • ENABLE_GET_COMMENTS:是否抓评论

浏览器方面推荐默认的 CDP 模式(ENABLE_CDP_MODE = True):它直接连接你本地已登录的 Chrome/Edge,复用真实浏览器的 Cookie 和扩展,被平台风控检测的概率明显更低。使用前在 Chrome 地址栏输入chrome://inspect/#remote-debugging勾选允许远程调试即可,详见 docs/CDP模式使用指南.md。

最后启动:

uv run main.py --platform xhs --lt qrcode --type search

命令会弹出一个浏览器窗口,用手机 App 扫二维码登录,之后采集就自动开始了。

不想敲命令也可以:项目内置了一套 WebUI 可视化界面(webui/),在网页上选平台、填关键词、看实时日志、预览导出数据,适合不想碰终端的同学。

按场景实战:三种取法 + 评论采集

不要按平台记参数,按任务记。所有平台通用的就是三种模式,切换--type即可。

按关键词取内容

最常用。在配置文件里写好KEYWORDS(比如"咖啡探店,咖啡店"),运行--type search,程序会按关键词搜索并逐页翻取结果。小红书还支持在 config/xhs_config.py 里选排序方式(默认按热度)。

按帖子/视频 ID 取内容

手里已经有一批目标链接(比如竞品发布的视频),把它们填进对应平台的"指定 URL 列表"(如XHS_SPECIFIED_NOTE_URL_LIST),运行--type detail,程序直接抓这几条的详情和评论。也支持只填 ID,多个用逗号分隔。

按创作者账号取内容

要监控某个账号的更新,把账号主页链接填进CREATOR_ID_LIST一类的配置,运行--type creator,即可拉取该创作者发布的内容列表。

评论采集:一层和两层都支持

ENABLE_GET_COMMENTS = True时默认抓一级评论,单条内容的评论上限由CRAWLER_MAX_COMMENTS_COUNT_SINGLENOTES控制;把ENABLE_GET_SUB_COMMENTS改成True还能抓回复里的二级评论。做小红书评论采集、抖音视频数据这类任务时,评论字段(内容、点赞数、作者、时间)都会随数据一起落盘。另外还有个隐藏功能:ENABLE_GET_WORDCLOUD = True可以生成评论词云图,直观看出高频词,配置方法见 docs/词云图使用配置.md。

进阶:什么时候需要代理 IP,怎么接

小批量采集(每天几十条),用自己的 IP 完全够,不用配代理。但当你长时间大批量跑、或者同一台机器同时抓多个平台时,平台容易对 IP 限流,这时才需要代理。

MediaCrawler 内置了代理 IP 池:自动向代理商拉取一批 IP、缓存到过期前自动换新、失效自动踢出池子,整个过程对采集逻辑透明。

多平台数据采集代理 IP 池工作流程图

接入三步:

  1. 选一家代理商(项目内置快代理kuaidaili、豌豆 HTTPwandouhttp两种,也支持static填自己的固定代理地址),把密钥配到 proxy/ 对应模块里;
  2. 在 config/base_config.py 中设置ENABLE_IP_PROXY = TrueIP_PROXY_PROVIDER_NAME = "kuaidaili"IP_PROXY_POOL_COUNT = 2(池子里同时保留几个 IP);
  3. 也可以直接用命令行参数--enable_ip_proxy yes --ip_proxy_provider_name wandouhttp,不改配置文件。

以快代理为例,登录其控制台就能看到你账号下的可用 IP 列表:

各家代理商的套餐、密钥申请流程差异较大,具体以 docs/代理使用.md、docs/豌豆HTTP使用文档.md 里的说明为准。

数据落地:存文件和进数据库怎么选

采集完的数据去哪儿,由SAVE_DATA_OPTION决定,支持 8 种:csvjsonjsonlsqliteexceldb(MySQL)、mongodbpostgres。默认存到项目根目录的data/文件夹,也可以用SAVE_DATA_PATH改位置。

两种典型用法:

  • 存文件(csv / excel / jsonl):给 Excel 直接看、给同事发、做小样本分析。Excel 导出基于 store/excel_store_base.py 实现,字段已按平台整理好表头,打开就能用,细节看 docs/excel_export_guide.md。
  • 进数据库(db / mongodb / postgres):要反复跑、数据量大、需要去重和查询时选数据库。入库逻辑在 database/ 目录,基于 ORM 定义表结构,重复 ID 会自动去重。首次用某数据库时先跑一次--init_db mysql(或sqlite/postgres)初始化表结构,完整说明见 docs/data_storage_guide.md。

一句话:试水用文件,常态化用数据库。

出错了先查这几个常见问题

项目把高频故障整理成了文档,出问题时先翻 docs/常见问题.md,能解决 80% 的卡点:

  • 扫码登录一直滑块验证不通过:把HEADLESS设为False让浏览器可见,手动过一下滑块再重试。
  • 抖音/知乎报缺少 node 相关错误:没装 Node.js 或版本低于 16,这两个平台依赖 Node 环境做签名。
  • 爬取到一半失效、抓不到数据:平台接口或风控变了,先换个账号或清理USER_DATA_DIR缓存目录重新登录,其次检查项目是否有新版本。
  • 想换账号:删除对应平台的用户数据缓存目录(配置里的USER_DATA_DIR),重新扫码即可。
  • CDP 连不上本地浏览器:确认 Chrome 版本已升级、远程调试已勾选、端口没被占用。

文档没覆盖的问题,可以到 docs/微信交流群.md 找交流群,或者直接读对应平台的源码(media_platform/ 下每个平台都有client.pycore.pylogin.py,结构一致,对照着看很好上手)。更完整的资料都在 docs/ 目录里。


MediaCrawler 适合两类人:需要定期从多个平台批量拉取内容和评论做分析的运营与研究人员,以及想找一个结构清晰的开源项目来学爬虫的开发者。装好环境、扫一次码,你的多平台数据采集流水线就转起来了。

【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 | 评论爬虫、微博帖子 | 评论爬虫、百度贴吧帖子 | 百度贴吧评论回复爬虫 | 知乎问答文章|评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 5:38:34

数学建模竞赛高效备战:题型拆解、模型构建与代码实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/17 5:37:27

程序员桌面理线完全指南:从规划到实操的整洁方案

作为一个在电脑前每天坐十个小时以上的人,我太清楚一张乱糟糟的桌子会怎么影响心情和工作效率了。尤其是咱们程序员,桌面上的东西一点不比机械师少:主显示器、副屏、笔记本、机械键盘、各种鼠标、耳机、开发板、几部测试手机……光是这些设备…

作者头像 李华
网站建设 2026/9/17 5:37:21

RustDesk开源远程控制工具:自建服务器与性能优化指南

1. 为什么选择RustDesk作为远程控制方案去年帮朋友调试电脑时,发现市面上主流远程工具要么收费昂贵,要么连接不稳定。偶然在GitHub发现RustDesk这个开源项目,测试后发现其延迟能控制在50ms以内,1080P画面传输流畅度不输商业软件。…

作者头像 李华
网站建设 2026/9/17 5:36:54

柔性温度传感器选型与应用全解析

1. 柔性温度传感器选型指南:圆弧线型(螺旋)结构解析作为一名在工业传感器领域摸爬滚打多年的工程师,我经常遇到客户对柔性温度传感器选型的困惑。今天就来详细拆解这款S型螺旋结构热电阻的技术细节和实际应用要点。不同于传统刚性…

作者头像 李华
网站建设 2026/9/17 5:36:39

企业级AI编程助手选型指南:六款产品横评与安全合规实测

最近几周,陆续有三个做技术负责人的朋友跟我聊同一个话题:团队到底要不要上AI编程助手?市面上的横评不少,但绝大多数都在讲个人体验——补全快不快、能不能聊代码、一个月多少钱。而他们真正想知道的,是企业级能力&…

作者头像 李华
网站建设 2026/9/17 5:35:58

PUBG文件损坏87%卡住的真正原因与三步修复法

1. 这不是“重装就能好”的问题:PUBG报“游戏文件损坏”背后的系统性逻辑你点开Steam,右键PUBG→属性→本地文件→验证游戏文件完整性,进度条走到87%卡住,弹出红色提示框:“游戏文件损坏,请重新安装”。你深…

作者头像 李华