MediaCrawler — マルチ自媒体コメント爬虫(Playwright / CDP) | NanmiCoder/MediaCrawler | DocsDigest#6日次2026/07/28OpenAI
MediaCrawler — マルチ自媒体コメント爬虫(Playwright / CDP)
NanmiCoder/MediaCrawler
小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 | 评论爬虫、微博帖子 | 评论爬虫、百度贴吧帖子 | 百度贴吧评论回复爬虫 | 知乎问答文章|评论爬虫
snapshot: 2026-07-28
scraped_at: 2026/07/28 1:51
period stars: +362
stars: 58,240
forks: 11,594
Language: Python
Summary
MediaCrawler — マルチ自媒体コメント爬虫(Playwright / CDP)
一覧カードと同じ provider の要約本文です。
OpenAImodel: gpt-5-mini
Highlights
- 1マルチプラットフォーム対応
- 2Playwright/CDPでログイン保持
- 3MediaCrawlerPro 発表
Overview
MediaCrawler は小红书(xhs)、抖音(douyin)、快手、B 站、微博、百度贴吧、知乎など主要自媒体プラットフォームの公開情報とコメントを取得する Python 製のマルチプラットフォーム爬虫です。README に記載されている具体的な特徴として、Playwright ベースのブラウザ自動化をコアに、CDP モードで既存 Chrome のログイン状態を流用して署名パラメータを JS 式で取得することで「JS 逆向不要」を実現しています。機能表にはキーワード検索、指定投稿ID取得、二級コメント取得、作者ページ指定、ログイン状態キャッシュ、IP プロキシプール、コメントワードクラウド生成が明記されています。
README
NanmiCoder/MediaCrawler
取得した README 原文です。
🔥 MediaCrawler - 自媒体平台爬虫 🕷️
<div align="center">
🤝 特别感谢白金赞助商
<a href="https://www.browseract.ai/mediacrawler" target="_blank">
<img src="docs/static/images/browseract_ad.jpg" alt="BrowserAct" width="600">
</a>
<br>
<a href="https://www.browseract.ai/mediacrawler" target="_blank">
<small>BrowserAct 支持从任意网站提取数据。只需描述所需数据,BrowserAct 就会在真实浏览器中探索并测试网页,生成可靠、可复用的数据采集 Bot,并返回结构化结果。内置隐身浏览和验证码处理,并提供高质量住宅代理。无需代码,立即免费试用。</small>
</a>
</div>
<div align="center">
<a href="https://trendshift.io/repositories/8291" target="_blank">
<img src="https://trendshift.io/api/badge/repositories/8291" alt="NanmiCoder%2FMediaCrawler | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/>
</a>

</div>
免责声明:
<details>
<summary>🖥️ <strong>WebUI 可视化操作界面</strong></summary>
<img src="docs/static/images/img_8.png" alt="WebUI 界面预览">
</details>
<details>
<summary>🔗 <strong>使用 Python 原生 venv 管理环境(不推荐)</strong></summary>
</details>
<table>
<thead>
<tr>
<th width="220">赞助商</th>
<th align="left">介绍</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://tikhub.io/?utm_source=github.com/NanmiCoder/MediaCrawler&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad"><img src="docs/static/images/tikhub_banner_zh.png" width="180" alt="TikHub"></a>
</td>
<td valign="middle">
<a href="https://tikhub.io/?utm_source=github.com/NanmiCoder/MediaCrawler&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad">TikHub.io</a> 提供 900+ 高稳定性数据接口,覆盖 TK、DY、XHS、Y2B、Ins、X 等 14+ 海内外主流平台,支持用户、内容、商品、评论等多维度公开数据 API,并配套 4000 万+ 已清洗结构化数据集,使用邀请码 <code>cfzyejV9</code> <a href="https://tikhub.io/?utm_source=github.com/NanmiCoder/MediaCrawler&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad">注册并充值</a>,即可额外获得 $2 赠送额度。
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=mei%27da%27c%27rmeidacrawler"><img width="160" alt="Atlas Cloud" src="docs/static/images/atlas_cloud_logo_black.png#gh-light-mode-only"><img width="160" alt="Atlas Cloud" src="docs/static/images/atlas_cloud_logo_white.png#gh-dark-mode-only"></a>
</td>
<td valign="middle">
<a href="https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=mei%27da%27c%27rmeidacrawler">Atlas Cloud</a> 是一个全模态 AI 推理平台,让开发者通过统一的 AI API 访问视频生成、图像生成和 LLM API,无需分别维护多个厂商集成,即可调用 300+ 精选模型。Atlas Cloud 最新推出 <a href="https://www.atlascloud.ai/console/coding-plan">coding plan 优惠</a>,为开发者提供更具性价比的 API 访问预算。
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://bloome.im/app?ref=NanmiCoder&utm_medium=github&utm_source=NanmiCoder-MediaCrawler-ivor-202607"><img src="docs/static/images/bloome_logo.png" width="180" alt="Bloome"></a>
</td>
<td valign="middle">
<a href="https://bloome.im/app?ref=NanmiCoder&utm_medium=github&utm_source=NanmiCoder-MediaCrawler-ivor-202607">Bloome</a> 是一个 AI Agent IM 平台——让多个 AI agent(Claude、ChatGPT、DeepSeek 等)和你在同一个对话里像团队成员一样协作,自动分工、互相校对,直接生成表格、文档与可视化看板。零配置、云端运行,网页和手机都能用,还能把配好的 agent 一键分享给团队。👉 <a href="https://bloome.im/app?ref=NanmiCoder&utm_medium=github&utm_source=NanmiCoder-MediaCrawler-ivor-202607">试试 Bloome</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://go.nodemaven.com/MediaCrawler"><img src="docs/static/images/nodemaven_logo.svg" width="180" alt="NodeMaven"></a>
</td>
<td valign="middle">
<a href="https://go.nodemaven.com/MediaCrawler">NodeMaven</a> 提供稳定可靠的高质量代理服务,适用于自动化、网页抓取、SEO 研究和社交媒体管理。服务支持 99.9% 可用性、最长 7 天的粘性会话、IP 质量筛选(所有代理的欺诈评分均低于 97%)、无需 KYC,以及最高 10% 的流量返现。MediaCrawler 用户使用优惠码 <code>CRAWLER35</code> 可享移动和住宅代理 35% 折扣,使用 <code>CRAWLER40</code> 可享 ISP(静态)代理 40% 折扣。👉 <a href="https://go.nodemaven.com/MediaCrawler">访问 NodeMaven</a>
</td>
</tr>
</tbody>
</table>
<table>
<tr>
<td align="center" width="33%">
<img src="docs/static/images/wechat_pay.jpeg" width="250" alt="微信赞赏"><br>
<b>微信赞赏</b>
</td>
<td align="center" width="33%">
<img src="docs/static/images/zfb_pay.png" width="250" alt="支付宝"><br>
<b>支付宝</b>
</td>
<td align="center" width="33%">
<a href="https://buymeacoffee.com/relakkes" target="_blank">
<img src="docs/static/images/bmc_button.png" width="250" alt="Buy Me a Coffee">
</a><br>
<b>Buy Me a Coffee</b>
</td>
</tr>
</table>
<div id="disclaimer">
</div>
- サポートプラットフォーム:小红书、抖音、快手、B 站、微博、贴吧、知乎
- コア技術:Playwright / CDP(Chrome のリモートデバッグを利用しログイン状態を再利用)
- データ出力:CSV/JSON/JSONL/Excel/SQLite/MySQL
使いどころ(Who it's useful for)
- データサイエンティストやソーシャル分析者:コメント収集とワードクラウド生成で感情・トピック解析が可能
- リサーチ・成長担当やマーケター:キーワード検索や指定投稿のコメント抽出でユーザーフィードバックを収集
- クローリング学習者/エンジニア:Playwright を使ったログイン状態の保持や WebUI、アーキテクチャ設計(README にある MediaCrawlerPro 比較で設計学習の価値あり)
Quick Start(README からの具体的コマンド例)
uv run main.py --platform xhs --lt qrcode --type search
uv run main.py --platform xhs --lt qrcode --type detail
- WebUI 開発モード(バックエンドとフロントエンドを同時起動):
uv run uvicorn api.main:app --port 8080 --reload
cd webui
npm install
npm run dev
Why It Matters
今回トレンド入りしている理由は README に現れる二つの要素が大きいです。
- 高い注目度:このリポジトリは本日のスター増加が +362、総スター 58,240(Rank: 6/daily)と大量の注目を集めています。README 内の機能表と豊富な導入手順が即戦力として評価されているためです。
- MediaCrawlerPro の告知:README で公開されている Pro 版は「断点续爬」「多アカウント+IP プロキシプール」「Playwright 依存を除去」「Linux 完全対応」など実務向けの強化点を示しており、OSS と商用版の両面で関心を集めています。
また README は uv(推奨パッケージ管理)、Node.js >=16 の要件、CDP モードでの Chrome 設定手順(remote-debugging)など実践的なセットアップ手順を丁寧に載せており、導入障壁が低い点も流行の理由です。
注意点
README にある通り、本リポジトリは「学習・研究用」を前提とした利用を強く推奨しており、商用利用や違法な大規模スクレイピングは禁止されています。利用前に README の免責事項と各プラットフォームの利用規約を確認してください。
本仓库的所有内容仅供学习和参考之用,禁止用于商业用途。任何人或组织不得将本仓库的内容用于非法用途或侵犯他人合法权益。本仓库所涉及的爬虫技术仅用于学习和研究,不得用于对其他平台进行大规模爬虫或其他非法行为。对于因使用本仓库内容而引起的任何法律责任,本仓库不承担任何责任。使用本仓库的内容即表示您同意本免责声明的所有条款和条件。
📖 项目简介
一个功能强大的多平台自媒体数据采集工具,支持小红书、抖音、快手、B站、微博、贴吧、知乎等主流平台的公开信息抓取。
🔧 技术原理
- 核心技术:基于 Playwright 浏览器自动化框架登录保存登录态
- 无需JS逆向:利用保留登录态的浏览器上下文环境,通过 JS 表达式获取签名参数
- 优势特点:无需逆向复杂的加密算法,大幅降低技术门槛
✨ 功能特性
| 平台 | 关键词搜索 | 指定帖子ID爬取 | 二级评论 | 指定创作者主页 | 登录态缓存 | IP代理池 | 生成评论词云图 |
|---|
| 小红书 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 抖音 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 快手 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| B 站 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 微博 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 贴吧 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 知乎 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
<strong>MediaCrawlerPro 重磅发布!开源不易,欢迎订阅支持</strong>
专注于学习成熟项目的架构设计,不仅仅是爬虫技术,Pro 版本的代码设计思路同样值得深入学习!
🎯 核心功能升级
- ✅ 自媒体内容拆解Agent(新增功能)
- ✅ 断点续爬功能(重点特性)
- ✅ 多账号 + IP代理池支持(重点特性)
- ✅ 去除 Playwright 依赖,使用更简单
- ✅ 完整 Linux 环境支持
🏗️ 架构设计优化
- ✅ 代码重构优化,更易读易维护(解耦 JS 签名逻辑)
- ✅ 企业级代码质量,适合构建大型爬虫项目
- ✅ 完美架构设计,高扩展性,源码学习价值更大
🎁 额外功能
🚀 快速开始
💡 如果这个项目对您有帮助,请给个 ⭐ Star 支持一下!
📋 前置依赖
🚀 uv 安装(推荐)
在进行下一步操作之前,请确保电脑上已经安装了 uv:
- 安装地址:uv 官方安装指南
- 验证安装:终端输入命令
uv --version,如果正常显示版本号,证明已经安装成功
- 推荐理由:uv 是目前最强的 Python 包管理工具,速度快、依赖解析准确
🟢 Node.js 安装
📦 Python 包安装
# 进入项目目录
cd MediaCrawler
# 使用 uv sync 命令来保证 python 版本和相关依赖包的一致性
uv sync
🌐 浏览器驱动安装(可选)
如果使用默认的 CDP 模式(连接已有 Chrome 浏览器),无需安装浏览器驱动。仅在使用标准 Playwright 模式时需要安装。
# 仅在标准 Playwright 模式下需要安装浏览器驱动
uv run playwright install
🌍 Chrome 浏览器配置(推荐)
项目默认使用 CDP 模式连接用户已有的 Chrome 浏览器,可以复用浏览器已有的登录状态、Cookie、扩展等,大幅降低平台风控检测风险。
- 安装最新版 Chrome 浏览器(版本 >= 144),下载地址
- 开启远程调试功能:在 Chrome 地址栏输入
chrome://inspect/#remote-debugging,勾选 "Allow remote debugging for this browser instance"
- 页面显示
Server running at: 127.0.0.1:9222 表示已就绪
💡 提示:运行爬虫后,Chrome 浏览器会弹出确认对话框,点击"接受"即可。程序会等待用户确认,60秒内操作完成即可。
如果不想使用 CDP 模式,可以在 config/base_config.py 中设置 ENABLE_CDP_MODE = False 切换为标准 Playwright 模式。
🚀 运行爬虫程序
# 在 config/base_config.py 查看配置项目功能,写的有中文注释
# 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论
uv run main.py --platform xhs --lt qrcode --type search
# 从配置文件中读取指定的帖子ID列表获取指定帖子的信息与评论信息
uv run main.py --platform xhs --lt qrcode --type detail
# 打开对应APP扫二维码登录
# 其他平台爬虫使用示例,执行下面的命令查看
uv run main.py --help
MediaCrawler 提供了基于 Web 的可视化操作界面,无需命令行也能轻松使用爬虫功能。
开发调试(推荐)
开发时需要同时启动后端 API 服务和前端 Vite 开发服务器:
# 终端 1:启动 API 服务器(默认端口 8080)
uv run uvicorn api.main:app --port 8080 --reload
# 终端 2:启动前端开发服务器
cd webui
npm install
npm run dev # 默认在 5173 端口启动,并代理 /api 到 8080
启动成功后,访问 http://localhost:5173/ 即可打开 WebUI 界面。
首次打开会进行环境检测(调用 /api/env/check),请确保后端服务已启动。如果检测失败,可点击「跳过检测」临时跳过。
构建生产资源
如果希望通过 API 服务器直接提供 WebUI 静态资源,需要先构建前端:
cd webui
npm install
npm run build # 产物输出到 api/webui/
uv run uvicorn api.main:app --port 8080 --reload
然后访问 http://localhost:8080 即可。
WebUI 功能特性
- 可视化配置爬虫参数(平台、登录方式、爬取类型等)
- 实时查看爬虫运行状态和日志
- 数据预览和导出
界面预览
创建并激活 Python 虚拟环境
如果是爬取抖音和知乎,需要提前安装 nodejs 环境,版本大于等于:16 即可
# 进入项目根目录
cd MediaCrawler
# 创建虚拟环境
# 我的 python 版本是:3.11 requirements.txt 中的库是基于这个版本的
# 如果是其他 python 版本,可能 requirements.txt 中的库不兼容,需自行解决
python -m venv venv
# macOS & Linux 激活虚拟环境
source venv/bin/activate
# Windows 激活虚拟环境
venv\Scripts\activate
安装依赖库
pip install -r requirements.txt
安装 playwright 浏览器驱动
运行爬虫程序(原生环境)
# 项目默认是没有开启评论爬取模式,如需评论请在 config/base_config.py 中的 ENABLE_GET_COMMENTS 变量修改
# 一些其他支持项,也可以在 config/base_config.py 查看功能,写的有中文注释
# 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论
python main.py --platform xhs --lt qrcode --type search
# 从配置文件中读取指定的帖子ID列表获取指定帖子的信息与评论信息
python main.py --platform xhs --lt qrcode --type detail
# 打开对应APP扫二维码登录
# 其他平台爬虫使用示例,执行下面的命令查看
python main.py --help
💾 数据保存
MediaCrawler 支持多种数据存储方式,包括 CSV、JSON、JSONL、Excel、SQLite 和 MySQL 数据库。
💬 交流群组
💰 赞助商展示
🤝 成为赞助者
成为赞助者,可以将您的产品展示在这里,每天获得大量曝光!
- 微信:
relakkes
- 邮箱:
relakkes@gmail.com
☕ 请作者喝杯咖啡
如果这个项目对您有帮助,欢迎打赏支持,您的每一份支持都是我持续更新的动力 ❤️
📚 其他
⭐ Star 趋势图
如果这个项目对您有帮助,请给个 ⭐ Star 支持一下,让更多的人看到 MediaCrawler!
📚 参考
免责声明
1. 项目目的与性质
本项目(以下简称“本项目”)是作为一个技术研究与学习工具而创建的,旨在探索和学习网络数据采集技术。本项目专注于自媒体平台的数据爬取技术研究,旨在提供给学习者和研究者作为技术交流之用。
2. 法律合规性声明
本项目开发者(以下简称“开发者”)郑重提醒用户在下载、安装和使用本项目时,严格遵守中华人民共和国相关法律法规,包括但不限于《中华人民共和国网络安全法》、《中华人民共和国反间谍法》等所有适用的国家法律和政策。用户应自行承担一切因使用本项目而可能引起的法律责任。
3. 使用目的限制
本项目严禁用于任何非法目的或非学习、非研究的商业行为。本项目不得用于任何形式的非法侵入他人计算机系统,不得用于任何侵犯他人知识产权或其他合法权益的行为。用户应保证其使用本项目的目的纯属个人学习和技术研究,不得用于任何形式的非法活动。
4. 免责声明
开发者已尽最大努力确保本项目的正当性及安全性,但不对用户使用本项目可能引起的任何形式的直接或间接损失承担责任。包括但不限于由于使用本项目而导致的任何数据丢失、设备损坏、法律诉讼等。
5. 知识产权声明
本项目的知识产权归开发者所有。本项目受到著作权法和国际著作权条约以及其他知识产权法律和条约的保护。用户在遵守本声明及相关法律法规的前提下,可以下载和使用本项目。
6. 最终解释权
关于本项目的最终解释权归开发者所有。开发者保留随时更改或更新本免责声明的权利,恕不另行通知。