2024-11-17 07:00:55 +08:00
# 🔥 自媒体平台爬虫🕷️ MediaCrawler🔥
<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>
[](https://github.com/NanmiCoder/MediaCrawler/stargazers)
[](https://github.com/NanmiCoder/MediaCrawler/network/members)
[](https://github.com/NanmiCoder/MediaCrawler/issues)
[](https://github.com/NanmiCoder/MediaCrawler/pulls)
[](https://github.com/NanmiCoder/MediaCrawler/blob/main/LICENSE)
2023-06-28 21:58:36 +08:00
> **免责声明:**
2024-03-30 14:14:10 +08:00
>
2024-10-20 01:05:57 +08:00
> 大家请以学习为目的使用本仓库⚠️⚠️⚠️⚠️,[爬虫违法违规的案件](https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China) <br>
2024-03-30 14:14:10 +08:00
>
2023-06-28 21:58:36 +08:00
>本仓库的所有内容仅供学习和参考之用,禁止用于商业用途。任何人或组织不得将本仓库的内容用于非法用途或侵犯他人合法权益。本仓库所涉及的爬虫技术仅用于学习和研究,不得用于对其他平台进行大规模爬虫或其他非法行为。对于因使用本仓库内容而引起的任何法律责任,本仓库不承担任何责任。使用本仓库的内容即表示您同意本免责声明的所有条款和条件。
2024-10-20 01:05:57 +08:00
>
2024-03-30 14:14:10 +08:00
> 点击查看更为详细的免责声明。[点击跳转](#disclaimer)
2024-10-17 14:54:06 +08:00
2023-06-09 20:41:53 +08:00
# 仓库描述
2024-09-08 00:02:18 +08:00
**小红书爬虫**, **抖音爬虫**, **快手爬虫 ** , **B站爬虫 ** , **微博爬虫 ** , **百度贴吧爬虫**, **知乎爬虫**...。
目前能抓取小红书、抖音、快手、B站、微博、贴吧、知乎等平台的公开信息。
2023-06-09 20:41:53 +08:00
2023-06-28 21:58:36 +08:00
原理:利用[playwright ](https://playwright.dev/ )搭桥, 保留登录成功后的上下文浏览器环境, 通过执行JS表达式获取一些加密参数
2025-06-25 23:22:39 +08:00
通过使用此方式, 免去了复现核心加密JS代码, 逆向难度大大降低。
2023-06-09 20:41:53 +08:00
2024-10-17 14:54:06 +08:00
# 功能列表
2024-11-26 13:37:53 +08:00
| 平台 | 关键词搜索 | 指定帖子ID爬取 | 二级评论 | 指定创作者主页 | 登录态缓存 | IP代理池 | 生成评论词云图 |
| ------ | ---------- | -------------- | -------- | -------------- | ---------- | -------- | -------------- |
| 小红书 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 抖音 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 快手 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| B 站 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 微博 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 贴吧 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
2024-12-26 17:36:33 +08:00
| 知乎 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
2024-11-26 13:37:53 +08:00
### MediaCrawlerPro重磅发布啦! ! !
> 主打学习成熟项目的架构设计, 不仅仅是爬虫, Pro中的其他代码设计思路也是值得学习, 欢迎大家关注! ! !
[MediaCrawlerPro ](https://github.com/MediaCrawlerPro ) 版本已经重构出来了,相较于开源版本的优势:
2025-06-24 17:44:43 +08:00
- 支持断点续爬功能(重点!)
2024-11-26 13:37:53 +08:00
- 多账号+IP代理支持( 重点! )
- 去除Playwright依赖, 使用更加简单
2025-05-13 18:42:58 +08:00
- 支持linux环境使用
2024-11-26 13:37:53 +08:00
- 代码重构优化, 更加易读易维护( 解耦JS签名逻辑)
- 代码质量更高,对于构建更大型的爬虫项目更加友好
- 完美的架构设计,更加易扩展,源码学习的价值更大
2025-03-23 20:35:11 +08:00
- Pro中新增全新的自媒体视频下载器桌面端软件( 适合学习全栈项目开发)
2025-05-13 18:42:58 +08:00
- 支持多个平台的首页信息流推荐( HomeFeed)
2024-03-30 14:14:10 +08:00
2024-10-16 21:02:27 +08:00
2024-10-17 14:54:06 +08:00
# 安装部署方法
> 开源不易, 希望大家可以Star一下MediaCrawler仓库! ! ! ! 十分感谢! ! ! <br>
2025-06-25 23:22:39 +08:00
## 前置依赖
2024-10-16 21:02:27 +08:00
2025-06-25 23:22:39 +08:00
### uv 安装
> 在进行下一步操作之前, 请确保电脑上已经安装了uv, [uv安装地址](https://docs.astral.sh/uv/getting-started/installation)
>
> uv是否安装成功的验证, 终端输入命令: uv --version 如果正常显示版本好,那证明已经安装成功
>
> 强力安利 uv 给大家使用, 简直是最强的python包管理工具
>
2024-10-16 21:02:27 +08:00
2025-06-25 23:22:39 +08:00
### nodejs安装
项目依赖nodejs, 安装地址: https://nodejs.org/en/download/
> 如果要用python的原生venv来管理环境的话, 可以参考: [原生环境管理文档](docs/原生环境管理文档.md)
2024-10-16 21:02:27 +08:00
2025-06-25 23:22:39 +08:00
### python包安装
2024-10-16 21:02:27 +08:00
2025-06-25 23:22:39 +08:00
```shell
# 进入项目目录
cd MediaCrawler
2024-10-16 21:02:27 +08:00
2025-06-25 23:22:39 +08:00
# 使用 uv sync 命令来保证python版本和相关依赖包的一致性
uv sync
```
2024-10-16 21:02:27 +08:00
2025-06-25 23:22:39 +08:00
### 浏览器驱动安装
```shell
# 安装浏览器驱动
playwright install
```
> MediaCrawler目前已经支持使用playwright连接你本地的Chrome浏览器了, 一些因为Webdriver导致的问题迎刃而解了。
>
> 目前开放了 xhs 和 dy 这两个使用 cdp 的方式连接本地浏览器, 如有需要, 查看config/base_config.py中的配置项。
2024-10-16 21:02:27 +08:00
## 运行爬虫程序
```shell
### 项目默认是没有开启评论爬取模式, 如需评论请在config/base_config.py中的 ENABLE_GET_COMMENTS 变量修改
### 一些其他支持项, 也可以在config/base_config.py查看功能, 写的有中文注释
# 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论
2025-06-25 23:22:39 +08:00
uv run main.py --platform xhs --lt qrcode --type search
2024-10-16 21:02:27 +08:00
# 从配置文件中读取指定的帖子ID列表获取指定帖子的信息与评论信息
2025-06-25 23:22:39 +08:00
uv run main.py --platform xhs --lt qrcode --type detail
2024-10-16 21:02:27 +08:00
# 打开对应APP扫二维码登录
# 其他平台爬虫使用示例,执行下面的命令查看
2025-06-25 23:22:39 +08:00
uv run main.py --help
```
2024-10-16 21:02:27 +08:00
## 数据保存
- 支持关系型数据库Mysql中保存( 需要提前创建数据库)
- 执行 `python db.py` 初始化数据库数据库表结构(只在首次执行)
- 支持保存到csv中( data/目录下)
- 支持保存到json中( data/目录下)
2025-06-25 23:22:39 +08:00
# 项目微信交流群
[加入微信交流群 ](https://nanmicoder.github.io/MediaCrawler/%E5%BE%AE%E4%BF%A1%E4%BA%A4%E6%B5%81%E7%BE%A4.html )
2024-10-16 21:02:27 +08:00
2024-10-17 14:54:06 +08:00
# 其他常见问题可以查看在线文档
2024-10-16 21:02:27 +08:00
>
> 在线文档包含使用方法、常见问题、加入项目交流群等。
> [MediaCrawler在线文档](https://nanmicoder.github.io/MediaCrawler/)
>
2024-12-26 17:36:33 +08:00
# 作者提供的知识服务
> 如果想快速入门和学习该项目的使用、源码架构设计等、学习编程技术、亦或者想了解MediaCrawlerPro的源代码设计可以看下我的知识付费栏目。
2024-11-29 10:40:52 +08:00
[作者的知识付费栏目介绍 ](https://nanmicoder.github.io/MediaCrawler/%E7%9F%A5%E8%AF%86%E4%BB%98%E8%B4%B9%E4%BB%8B%E7%BB%8D.html )
2024-09-19 16:54:19 +08:00
2024-08-11 23:54:36 +08:00
2024-11-08 22:27:03 +08:00
# 感谢下列Sponsors对本仓库赞助支持
2025-05-26 22:35:18 +08:00
<a href="https://www.swiftproxy.net/?ref=nanmi">
<img src="docs/static/images/img_5.png">
<br>
Swiftproxy-90M+全球高质量纯净住宅IP, 注册可领免费500MB测试流量, 动态流量不过期!
> 我推荐的专属折扣码: GHB5 立享九折优惠!
</a>
<br>
<br>
2025-04-16 16:49:49 +08:00
<a href="https://sider.ai/ad-land-redirect?source=github&p1=mi&p2=kk">【Sider】全网最火的ChatGPT插件, 我也免费薅羊毛用了快一年了, 体验拉满。</a>
2024-11-19 12:58:28 +08:00
2024-11-29 10:40:52 +08:00
成为赞助者, 可以将您产品展示在这里, 每天获得大量曝光, 联系作者微信: yzglan 或 email: relakkes@gmail .com
2024-08-08 14:19:32 +08:00
2024-05-26 21:25:04 +08:00
2024-10-17 14:54:06 +08:00
# 爬虫入门课程
2024-06-30 01:18:32 +08:00
我新开的爬虫教程Github仓库 [CrawlerTutorial ](https://github.com/NanmiCoder/CrawlerTutorial ) ,感兴趣的朋友可以关注一下,持续更新,主打一个免费.
2024-10-17 14:54:06 +08:00
# star 趋势图
2024-09-19 17:25:41 +08:00
- 如果该项目对你有帮助,帮忙 star一下 ❤️ ❤️ ❤️ , 让更多的人看到MediaCrawler这个项目
2023-06-28 21:58:36 +08:00
[](https://star-history.com/#NanmiCoder/MediaCrawler &Date)
2024-10-17 14:54:06 +08:00
# 参考
2023-06-28 21:58:36 +08:00
2023-06-16 19:35:43 +08:00
- xhs客户端 [ReaJason的xhs仓库 ](https://github.com/ReaJason/xhs )
- 短信转发 [参考仓库 ](https://github.com/pppscn/SmsForwarder )
2023-06-28 21:58:36 +08:00
- 内网穿透工具 [ngrok ](https://ngrok.com/docs/ )
2023-06-09 20:41:53 +08:00
2024-03-30 14:14:10 +08:00
2024-10-17 14:54:06 +08:00
# 免责声明
2024-03-30 14:14:10 +08:00
<div id="disclaimer">
2024-10-17 14:54:06 +08:00
## 1. 项目目的与性质
2024-03-30 14:14:10 +08:00
本项目(以下简称“本项目”)是作为一个技术研究与学习工具而创建的,旨在探索和学习网络数据采集技术。本项目专注于自媒体平台的数据爬取技术研究,旨在提供给学习者和研究者作为技术交流之用。
2024-10-17 14:54:06 +08:00
## 2. 法律合规性声明
2024-03-30 14:14:10 +08:00
本项目开发者(以下简称“开发者”)郑重提醒用户在下载、安装和使用本项目时,严格遵守中华人民共和国相关法律法规,包括但不限于《中华人民共和国网络安全法》、《中华人民共和国反间谍法》等所有适用的国家法律和政策。用户应自行承担一切因使用本项目而可能引起的法律责任。
2024-10-17 14:54:06 +08:00
## 3. 使用目的限制
2024-03-30 14:14:10 +08:00
本项目严禁用于任何非法目的或非学习、非研究的商业行为。本项目不得用于任何形式的非法侵入他人计算机系统,不得用于任何侵犯他人知识产权或其他合法权益的行为。用户应保证其使用本项目的目的纯属个人学习和技术研究,不得用于任何形式的非法活动。
2024-10-17 14:54:06 +08:00
## 4. 免责声明
2024-03-30 14:14:10 +08:00
开发者已尽最大努力确保本项目的正当性及安全性,但不对用户使用本项目可能引起的任何形式的直接或间接损失承担责任。包括但不限于由于使用本项目而导致的任何数据丢失、设备损坏、法律诉讼等。
2024-10-17 14:54:06 +08:00
## 5. 知识产权声明
2024-03-30 14:14:10 +08:00
本项目的知识产权归开发者所有。本项目受到著作权法和国际著作权条约以及其他知识产权法律和条约的保护。用户在遵守本声明及相关法律法规的前提下,可以下载和使用本项目。
2024-10-17 14:54:06 +08:00
## 6. 最终解释权
2024-03-30 14:14:10 +08:00
关于本项目的最终解释权归开发者所有。开发者保留随时更改或更新本免责声明的权利,恕不另行通知。
</div>
2024-10-17 14:54:06 +08:00
## 感谢JetBrains提供的免费开源许可证支持
2024-07-21 03:11:18 +08:00
<a href="https://www.jetbrains.com/?from=MediaCrawler">
<img src="https://www.jetbrains.com/company/brand/img/jetbrains_logo.png" width="100" alt="JetBrains" />
</a>