MediaCrawler 多平台采集完整指南:7个平台数据跑通的3种姿势
2026/8/30 10:13:51 网站建设 项目流程

MediaCrawler 多平台采集完整指南:7个平台数据跑通的3种姿势

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

想每周盯住10个竞品的抖音发布数据,手动复制粘贴已经扛不住了;或者想把一批小红书笔记连同评论区批量落到 Excel 里分析。这类活儿适合交给 MediaCrawler 多平台采集。

📦 MediaCrawler 是什么:7个平台一个入口

MediaCrawler 是一个基于 Playwright 的 Python 异步多平台自媒体采集框架,用真实浏览器登录拿签名,覆盖小红书、抖音、快手、B站、微博、贴吧、知乎共 7 个平台。

核心能力速览:

  • 覆盖 7 个平台的内容与评论
  • 搜索、详情、创作者三种模式
  • 登录态缓存,免重复扫码
  • jsonl、Excel、SQLite 等多种存储
  • 代理 IP 池,3 种接入方式
  • 二级评论与评论词云
  • WebUI 实时日志与数据预览
  • 不用逆向 JS,签名由浏览器现场计算

🧭 三种采集模式怎么选

config/base_config.py里的CRAWLER_TYPE只有三个取值:searchdetailcreator,分别对应"按关键词找内容""按帖子 ID 取内容""盯住某个创作者主页"。日常用得最多的就是这一处配置,其余参数都是围着它转的。

模式输入典型用途
searchKEYWORDS关键词话题调研、舆情抓取
detail帖子 ID 列表定向批量采集已知内容
creator创作者主页 URL博主发布动态跟踪

要采的具体对象写在各平台配置文件里,比如 B站的BILI_CREATOR_ID_LIST见 config/bilibili_config.py;KEYWORDS多个关键词用英文逗号分隔。对做小红书数据抓取的人来说,search 模式加上默认开启的评论采集,是最常用的组合。

⚙️ 签名怎么来的:不手写逆向 JS

小红书接口请求要带x-sx-t这类签名参数,逆向算法是大多数同类工具的死穴。MediaCrawler 的做法是:先用真实浏览器扫码登录并保存登录态,之后在浏览器上下文里执行 JS 表达式把签名算出来,再拼进 API 请求。

也就是说,它把"逆向算法"替换成了"让浏览器自己算"。抖音、知乎因为签名逻辑在 Node 侧,项目额外调了libs/下的 JS 脚本生成参数,思路一致。

小红书的签名与追踪 ID 生成在 xhs_sign.py,浏览器端取签名的调用封装在 playwright_sign.py。七个平台的 client、core、login 三类角色统一由 base_crawler.py 里的抽象基类约束,读这一个文件就能看懂各平台代码的分工。

🌐 代理 IP 池怎么配才稳

单 IP 长时间请求很快触发风控,这是同类项目最常见的翻车点。项目用一个ProxyIpPool类解决:启动时按配置批量从代理商 API 拉 IP,逐个探测可用性后入池,用完自动补充。

三个配置项控制整套机制,都写在config/base_config.py

ENABLE_IP_PROXY = True IP_PROXY_POOL_COUNT = 2 IP_PROXY_PROVIDER_NAME = "kuaidaili" # kuaidaili | wandouhttp | static

池子的拉取与校验逻辑在 proxy_ip_pool.py,各代理商适配模块在 proxy/providers/。如果手头只有固定的独享代理,选static,把地址填进STATIC_PROXY_URL即可,不需要任何 API。

上图是代理商后台提取 IP 链接的界面,keynum参数对应到项目里的提供方配置,改完就能用。

🚀 四步跑通第一条数据

前提是装好 uv;采抖音、知乎的话再装 Node.js(≥16),因为签名要用。

  1. 拉取代码:
    git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler cd MediaCrawler

    这步把项目拿到本地。

  2. uv sync
    按锁文件安装 Python 依赖,保证版本一致。
  3. 打开 config/base_config.py,把KEYWORDS改成你关心的词,CRAWLER_TYPE保持默认search。 这一步决定"采什么"。
  4. uv run main.py --platform xhs --lt qrcode --type search
    弹出浏览器,用 App 扫码登录,脚本自动开始采集。

跑完到data/目录确认生成了笔记与评论文件,链路就算通了。存储格式怎么选,参考 data_storage_guide.md:

格式适合场景
jsonl(默认)大批量连续采集,追加写性能好
Excel快速出报告,内容/评论分工作表
SQLite需要去重和二次查询
csv / json直接交给下游程序

📥 一个完整案例:B站UP主视频入库 SQLite

任务:采一个指定 UP 主近期的视频列表和评论,存进本地 SQLite,方便后续查"近 30 天"这类条件。MediaCrawler 多平台采集的端到端闭环就是下面五步。

  1. config/base_config.py里把PLATFORM改成"bili"SAVE_DATA_OPTION改成sqlite。 这步告诉程序用哪个平台、结果写哪里。
  2. config/bilibili_config.pyBILI_CREATOR_ID_LIST填入 UP 主空间主页 URL 或 UID,并用CRAWLER_MAX_NOTES_COUNT控制视频条数。
  3. 初始化库表:
    uv run main.py --init_db sqlite

    提前建好内容、评论等表结构。

  4. 启动采集:
    uv run main.py --platform bili --lt qrcode --type creator

    扫码后程序翻页拉取视频与评论,逐条写入数据库。

  5. 产物检查:到data/目录找到.db文件,用任意 SQLite 客户端打开,核对内容表和评论表的条数与发布时间字段。

表结构统一定义在 models.py,每个平台各有一套内容表和评论表。

🔌 进阶扩展点:自定义存储与换代理商

自定义存储管道。每个平台目录里都有一个 StoreFactory,把SAVE_DATA_OPTION映射到具体存储类,store/bilibili/init.py 里能看到 jsonl、csv、sqlite、excel 各自的注册方式。想推消息队列或数据仓库,照着写一个新存储类注册进去就行。

代理提供方调优。内置 kuaidaili、wandouhttp、static 三种提供方,换其他代理商就在proxy/providers/下新增一个适配模块。代理商后台的 API 密钥页长这样:

独享代理的账号密码鉴权同样在后台"代理鉴权"一栏提取:

还有一个方向:不碰命令行,启动uv run uvicorn api.main:app --port 8080,再构建 webui/ 下的前端,就能在浏览器里配参数、看实时日志。

⚠️ 新手避坑清单

  • 扫码后登录一直失败 → 无头模式下过不了滑块验证 → 设HEADLESS = False手动过滑块,或启用默认的 CDP 模式连接本机 Chrome。
  • 关键词搜不到内容 →KEYWORDS里写了中文逗号 → 改用英文逗号分隔多个词。
  • 开了ENABLE_IP_PROXY但代理没生效 → 提供方 API 参数没配或后台没加 IP 白名单 → 核对IP_PROXY_PROVIDER_NAME对应参数,static 则检查STATIC_PROXY_URL
  • CDP 模式报 9222 端口占用 → 已有另一个开了远程调试的 Chrome 实例 → 换CDP_DEBUG_PORT
  • 标准 Playwright 模式起不来浏览器 → 没装浏览器内核 → 执行uv run playwright install;默认 CDP 模式直接用系统 Chrome,可跳过。

请求失败时程序会按退避策略自动重试,逻辑在 crawler_util.py;如果错误持续出现,优先检查登录态是否过期。

适合需要快速搭多平台数据管道的人,以及做多平台爬虫框架选型评估的团队。先看 README.md,再按本文引用路径读存储和代理的源码。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询