NanmiCoder/MediaCrawler
摘要
MediaCrawler是一个开源的多平台自媒体数据采集工具,支持小红书、抖音、快手、B站、微博、贴吧、知乎等主流平台的公开信息抓取,基于Playwright浏览器自动化实现,无需JS逆向。
小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 | 评论爬虫、微博帖子 | 评论爬虫、百度贴吧帖子 | 百度贴吧评论回复爬虫 | 知乎问答文章|评论爬虫
查看缓存全文
缓存时间: 2026/06/25 11:08
NanmiCoder/MediaCrawler 来源:https://github.com/NanmiCoder/MediaCrawler # 🔥 MediaCrawler - 自媒体平台爬虫 🕷️ GitHub Stars(https://github.com/NanmiCoder/MediaCrawler/stargazers) GitHub Forks(https://github.com/NanmiCoder/MediaCrawler/network/members) GitHub Issues(https://github.com/NanmiCoder/MediaCrawler/issues) GitHub Pull Requests(https://github.com/NanmiCoder/MediaCrawler/pulls) 许可证(https://github.com/NanmiCoder/MediaCrawler/blob/main/LICENSE) 中文 English Español > 免责声明: > > 请大家以学习为目的使用本仓库⚠️⚠️⚠️⚠️,爬虫违法违规案件(https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China) > > 本仓库的所有内容仅供学习和参考之用,禁止用于商业用途。任何人或组织不得将本仓库的内容用于非法用途或侵犯他人合法权益。本仓库所涉及的爬虫技术仅用于学习和研究,不得用于对其他平台进行大规模爬虫或其他非法行为。对于因使用本仓库内容而引起的任何法律责任,本仓库不承担任何责任。使用本仓库的内容即表示您同意本免责声明的所有条款和条件。 > > 点击查看更为详细的免责声明。点击跳转 ## 📖 项目简介 一个功能强大的多平台自媒体数据采集工具,支持小红书、抖音、快手、B站、微博、贴吧、知乎等主流平台的公开信息抓取。 ### 🔧 技术原理 - 核心技术:基于 Playwright (https://playwright.dev/) 浏览器自动化框架登录保存登录态 - 无需JS逆向:利用保留登录态的浏览器上下文环境,通过 JS 表达式获取签名参数 - 优势特点:无需逆向复杂的加密算法,大幅降低技术门槛 ## ✨ 功能特性 | 平台 | 关键词搜索 | 指定帖子ID爬取 | 二级评论 | 指定创作者主页 | 登录态缓存 | IP代理池 | 生成评论词云图 | | —— | ––––– | ––––––– | –––– | ––––––– | ––––– | –––– | ––––––– | | 小红书 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | 抖音 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | 快手 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | B 站 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | 微博 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | 贴吧 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | 知乎 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | MediaCrawlerPro 重磅发布!开源不易,欢迎订阅支持 > 专注于学习成熟项目的架构设计,不仅仅是爬虫技术,Pro 版本的代码设计思路同样值得深入学习! MediaCrawlerPro(https://github.com/MediaCrawlerPro) 相较于开源版本的核心优势: #### 🎯 核心功能升级 - ✅ 自媒体内容拆解Agent(新增功能) - ✅ 断点续爬功能(重点特性) - ✅ 多账号 + IP代理池支持(重点特性) - ✅ 去除 Playwright 依赖,使用更简单 - ✅ 完整 Linux 环境支持 #### 🏗️ 架构设计优化 - ✅ 代码重构优化,更易读易维护(解耦 JS 签名逻辑) - ✅ 企业级代码质量,适合构建大型爬虫项目 - ✅ 完美架构设计,高扩展性,源码学习价值更大 #### 🎁 额外功能 - ✅ 自媒体视频下载器桌面端(适合学习全栈开发) - ✅ 多平台首页信息流推荐(HomeFeed) - ✅ AI Agent Skill 支持(OpenClaw(https://openclaw.ai/)🦞 / Claude Code / Cursor 一键安装,让 Agent 自动爬取数据) - [ ] 基于评论分析AI Agent正在开发中 🚀🚀 点击查看:MediaCrawlerPro 项目主页(https://github.com/MediaCrawlerPro) 更多介绍 ## 🚀 快速开始 > 💡 如果这个项目对您有帮助,请给个 ⭐ Star 支持一下! ## 📋 前置依赖 ### 🚀 uv 安装(推荐) 在进行下一步操作之前,请确保电脑上已经安装了 uv: - 安装地址:uv 官方安装指南(https://docs.astral.sh/uv/getting-started/installation) - 验证安装:终端输入命令 uv --version,如果正常显示版本号,证明已经安装成功 - 推荐理由:uv 是目前最强的 Python 包管理工具,速度快、依赖解析准确 ### 🟢 Node.js 安装 项目依赖 Node.js,请前往官网下载安装: - 下载地址:https://nodejs.org/en/download/ - 版本要求:>= 16.0.0 ### 📦 Python 包安装 shell # 进入项目目录 cd MediaCrawler # 使用 uv sync 命令来保证 python 版本和相关依赖包的一致性 uv sync ### 🌐 浏览器驱动安装(可选) > 如果使用默认的 CDP 模式(连接已有 Chrome 浏览器),无需安装浏览器驱动。仅在使用标准 Playwright 模式时需要安装。 shell # 仅在标准 Playwright 模式下需要安装浏览器驱动 uv run playwright install ### 🌍 Chrome 浏览器配置(推荐) 项目默认使用 CDP 模式连接用户已有的 Chrome 浏览器,可以复用浏览器已有的登录状态、Cookie、扩展等,大幅降低平台风控检测风险。 使用前需要: 1. 安装最新版 Chrome 浏览器(版本 >= 144),下载地址(https://www.google.com/chrome/) 2. 开启远程调试功能:在 Chrome 地址栏输入 chrome://inspect/#remote-debugging,勾选 “Allow remote debugging for this browser instance” 3. 页面显示 Server running at: 127.0.0.1:9222 表示已就绪 > 💡 提示:运行爬虫后,Chrome 浏览器会弹出确认对话框,点击“接受“即可。程序会等待用户确认,60秒内操作完成即可。 > > 如果不想使用 CDP 模式,可以在 config/base_config.py 中设置 ENABLE_CDP_MODE = False 切换为标准 Playwright 模式。 ## 🚀 运行爬虫程序 shell # 在 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 🖥️ WebUI 可视化操作界面 MediaCrawler 提供了基于 Web 的可视化操作界面,无需命令行也能轻松使用爬虫功能。 #### 启动 WebUI 服务 shell # 启动 API 服务器(默认端口 8080) uv run uvicorn api.main:app --port 8080 --reload # 或者使用模块方式启动 uv run python -m api.main 启动成功后,访问 http://localhost:8080 即可打开 WebUI 界面。 #### WebUI 功能特性 - 可视化配置爬虫参数(平台、登录方式、爬取类型等) - 实时查看爬虫运行状态和日志 - 数据预览和导出 #### 界面预览 🔗 使用 Python 原生 venv 管理环境(不推荐) #### 创建并激活 Python 虚拟环境 > 如果是爬取抖音和知乎,需要提前安装 nodejs 环境,版本大于等于:16 即可 shell # 进入项目根目录 cd MediaCrawler # 创建虚拟环境 # 我的 python 版本是:3.11 requirements.txt 中的库是基于这个版本的 # 如果是其他 python 版本,可能 requirements.txt 中的库不兼容,需自行解决 python -m venv venv # macOS & Linux 激活虚拟环境 source venv/bin/activate # Windows 激活虚拟环境 venv\Scripts\activate #### 安装依赖库 shell pip install -r requirements.txt #### 安装 playwright 浏览器驱动 shell playwright install #### 运行爬虫程序(原生环境) shell # 项目默认是没有开启评论爬取模式,如需评论请在 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 数据库。 📖 详细使用说明请查看:数据存储指南 🚀 MediaCrawlerPro 重磅发布 🚀!更多的功能,更好的架构设计!开源不易,欢迎订阅支持!(https://github.com/MediaCrawlerPro) ## 💬 交流群组 - 微信交流群:点击加入(https://nanmicoder.github.io/MediaCrawler/%E5%BE%AE%E4%BF%A1%E4%BA%A4%E6%B5%81%E7%BE%A4.html) - B站账号:关注我(https://space.bilibili.com/434377496),分享AI与爬虫技术知识 ## 💰 赞助商展示 TikHub.io 提供 900+ 高稳定性数据接口,覆盖 TK、DY、XHS、Y2B、Ins、X 等 14+ 海内外主流平台,支持用户、内容、商品、评论等多维度公开数据 API,并配套 4000 万+ 已清洗结构化数据集,使用邀请码 cfzyejV9 注册并充值,即可额外获得 $2 赠送额度。 Atlas Cloud 是一个全模态 AI 推理平台,让开发者通过统一的 AI API 访问视频生成、图像生成和 LLM API,无需分别维护多个厂商集成,即可调用 300+ 精选模型。Atlas Cloud 最新推出 coding plan 优惠,为开发者提供更具性价比的 API 访问预算。 — ## 🤝 成为赞助者 成为赞助者,可以将您的产品展示在这里,每天获得大量曝光! 联系方式: - 微信:relakkes - 邮箱:[email protected] — ## ☕ 请作者喝杯咖啡 如果这个项目对您有帮助,欢迎打赏支持,您的每一份支持都是我持续更新的动力 ❤️ 微信赞赏 支付宝 Buy Me a Coffee — ## 📚 其他 - 常见问题:MediaCrawler 完整文档(https://nanmicoder.github.io/MediaCrawler/) - 爬虫入门教程:CrawlerTutorial 免费教程(https://github.com/NanmiCoder/CrawlerTutorial) - 新闻爬虫开源项目:NewsCrawlerCollection(https://github.com/NanmiCoder/NewsCrawlerCollection) ## ⭐ Star 趋势图 如果这个项目对您有帮助,请给个 ⭐ Star 支持一下,让更多的人看到 MediaCrawler! Star History Chart(https://star-history.com/#NanmiCoder/MediaCrawler&Date) ## 📚 参考 - 小红书签名仓库:Cloxl 的 xhs 签名仓库(https://github.com/Cloxl/xhshow) - 小红书客户端:ReaJason 的 xhs 仓库(https://github.com/ReaJason/xhs) - 短信转发:SmsForwarder 参考仓库(https://github.com/pppscn/SmsForwarder) - 内网穿透工具:ngrok 官方文档(https://ngrok.com/docs/) # 免责声明 ## 1. 项目目的与性质 本项目(以下简称“本项目”)是作为一个技术研究与学习工具而创建的,旨在探索和学习网络数据采集技术。本项目专注于自媒体平台的数据爬取技术研究,旨在提供给学习者和研究者作为技术交流之用。 ## 2. 法律合规性声明 本项目开发者(以下简称“开发者”)郑重提醒用户在下载、安装和使用本项目时,严格遵守中华人民共和国相关法律法规,包括但不限于《中华人民共和国网络安全法》、《中华人民共和国反间谍法》等所有适用的国家法律和政策。用户应自行承担一切因使用本项目而可能引起的法律责任。 ## 3. 使用目的限制 本项目严禁用于任何非法目的或非学习、非研究的商业行为。本项目不得用于任何形式的非法侵入他人计算机系统,不得用于任何侵犯他人知识产权或其他合法权益的行为。用户应保证其使用本项目的目的纯属个人学习和技术研究,不得用于任何形式的非法活动。 ## 4. 免责声明 开发者已尽最大努力确保本项目的正当性及安全性,但不对用户使用本项目可能引起的任何形式的直接或间接损失承担责任。包括但不限于由于使用本项目而导致的任何数据丢失、设备损坏、法律诉讼等。 ## 5. 知识产权声明 本项目的知识产权归开发者所有。本项目受到著作权法和国际著作权条约以及其他知识产权法律和条约的保护。用户在遵守本声明及相关法律法规的前提下,可以下载和使用本项目。 ## 6. 最终解释权 关于本项目的最终解释权归开发者所有。开发者保留随时更改或更新本免责声明的权利,恕不另行通知。
相似文章
@WY_mask: MediaCrawler:开源小红书/抖音/微博/B站/快手爬虫工具 支持爬取视频、图片、评论、点赞、转发等信息 https://github.com/NanmiCoder/MediaCrawler…
MediaCrawler 是一个开源的多平台自媒体数据采集工具,支持小红书、抖音、微博、B站、快手等平台的公开信息抓取,无需JS逆向,基于Playwright浏览器自动化。
@NFTCPS: X推特上那些搬运博主的内容源终于知道从哪来的! 就这个工具MediaCrawler,一个工具通吃小红书、抖音、快手、B站、微博、贴吧、知乎,公开的内容、评论、点赞、转发都能扒下来。 最骚的是它不用搞JS逆向那套,靠浏览器登录态直接拿签名,…
MediaCrawler是一个多平台自媒体数据采集工具,支持小红书、抖音、快手、B站、微博、贴吧、知乎的公开内容抓取,利用浏览器登录态绕过JS逆向,降低技术门槛。
@CycleDecoded: 别再花大价钱买那些破爬虫软件交智商税了!这几天有个开源工具简直离谱,直接把全网社交平台的数据底裤都给扒了,搞流量矩阵和数据变现的饭碗真危了! 这就是 GitHub 上狂砍 5.4 万+ 星标的超神开源项目 MediaCrawler。大白话…
MediaCrawler 是一个 GitHub 上 5.4 万+ Star 的开源多平台社交媒体爬虫工具,支持小红书、抖音、B站等 7 大平台的数据采集,具备多账号、IP 代理、断点续爬和 AI 集成等特性。
@Jolyne_AI: 又在 GitHub 挖到一款高性能爬虫/抓取利器:AnyCrawl,把数据采集这件事做得更省心、更高效。 它把 Cheerio、Playwright、Puppeteer 三种引擎打包到一起:静态页面秒解析,复杂 JavaScript 渲染…
AnyCrawl 是一款高性能开源爬虫/抓取工具,集成了 Cheerio、Playwright、Puppeteer 三种引擎,支持静态解析与 JS 渲染、SERP 批量抓取、站点级爬虫、多线程/多进程并发、代理支持,并针对 LLM 数据采集优化输出格式。
@GYLQ520: 做自媒体的朋友留个神,这个神器要是错过了,真得拍大腿。 MultiPost,GitHub开源免费的浏览器插件,一键把内容同步推到微博、知乎、小红书等十几个平台,再也不用一个个复制粘贴了。 支持图文视频,还能定时发布、自动抓取网页内容,甚至…
MultiPost是一个GitHub开源免费的浏览器插件,支持一键将内容同步发布到微博、知乎、小红书等十几个主流平台,内置图文视频发布、定时发布、网页抓取和AI内容生成功能,大幅降低多平台运营成本。