Skip to content

Commit 0514758

Browse files
committed
docs: 更新uv安装文档
1 parent e83b242 commit 0514758

File tree

1 file changed

+187
-85
lines changed

1 file changed

+187
-85
lines changed

README.md

Lines changed: 187 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
1-
# 🔥 自媒体平台爬虫🕷️MediaCrawler🔥
2-
<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>
1+
# 🔥 MediaCrawler - 自媒体平台爬虫 🕷️
2+
3+
<div align="center">
4+
5+
<a href="https://trendshift.io/repositories/8291" target="_blank">
6+
<img src="https://trendshift.io/api/badge/repositories/8291" alt="NanmiCoder%2FMediaCrawler | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/>
7+
</a>
38

49
[![GitHub Stars](https://img.shields.io/github/stars/NanmiCoder/MediaCrawler?style=social)](https://github.com/NanmiCoder/MediaCrawler/stargazers)
510
[![GitHub Forks](https://img.shields.io/github/forks/NanmiCoder/MediaCrawler?style=social)](https://github.com/NanmiCoder/MediaCrawler/network/members)
611
[![GitHub Issues](https://img.shields.io/github/issues/NanmiCoder/MediaCrawler)](https://github.com/NanmiCoder/MediaCrawler/issues)
712
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/NanmiCoder/MediaCrawler)](https://github.com/NanmiCoder/MediaCrawler/pulls)
813
[![License](https://img.shields.io/github/license/NanmiCoder/MediaCrawler)](https://github.com/NanmiCoder/MediaCrawler/blob/main/LICENSE)
914

15+
</div>
16+
1017
> **免责声明:**
1118
>
1219
> 大家请以学习为目的使用本仓库⚠️⚠️⚠️⚠️,[爬虫违法违规的案件](https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China) <br>
@@ -15,15 +22,17 @@
1522
>
1623
> 点击查看更为详细的免责声明。[点击跳转](#disclaimer)
1724
18-
# 仓库描述
25+
## 📖 项目简介
26+
27+
一个功能强大的**多平台自媒体数据采集工具**,支持小红书、抖音、快手、B站、微博、贴吧、知乎等主流平台的公开信息抓取。
1928

20-
**小红书爬虫****抖音爬虫****快手爬虫****B站爬虫****微博爬虫****百度贴吧爬虫****知乎爬虫**...。
21-
目前能抓取小红书、抖音、快手、B站、微博、贴吧、知乎等平台的公开信息。
29+
### 🔧 技术原理
2230

23-
原理:利用[playwright](https://playwright.dev/)搭桥,保留登录成功后的上下文浏览器环境,通过执行JS表达式获取一些加密参数
24-
通过使用此方式,免去了复现核心加密JS代码,逆向难度大大降低。
31+
- **核心技术**:基于 [Playwright](https://playwright.dev/) 浏览器自动化框架登录保存登录态
32+
- **无需JS逆向**:利用保留登录态的浏览器上下文环境,通过 JS 表达式获取签名参数
33+
- **优势特点**:无需逆向复杂的加密算法,大幅降低技术门槛
2534

26-
# 功能列表
35+
## ✨ 功能特性
2736
| 平台 | 关键词搜索 | 指定帖子ID爬取 | 二级评论 | 指定创作者主页 | 登录态缓存 | IP代理池 | 生成评论词云图 |
2837
| ------ | ---------- | -------------- | -------- | -------------- | ---------- | -------- | -------------- |
2938
| 小红书 ||||||||
@@ -34,83 +43,165 @@
3443
| 贴吧 ||||||||
3544
| 知乎 ||||||||
3645

37-
### MediaCrawlerPro重磅发布啦!!!
38-
> 主打学习成熟项目的架构设计,不仅仅是爬虫,Pro中的其他代码设计思路也是值得学习,欢迎大家关注!!!
3946

40-
[MediaCrawlerPro](https://github.com/MediaCrawlerPro) 版本已经重构出来了,相较于开源版本的优势:
41-
- 支持断点续爬功能(重点!)
42-
- 多账号+IP代理支持(重点!)
43-
- 去除Playwright依赖,使用更加简单
44-
- 支持linux环境使用
45-
- 代码重构优化,更加易读易维护(解耦JS签名逻辑)
46-
- 代码质量更高,对于构建更大型的爬虫项目更加友好
47-
- 完美的架构设计,更加易扩展,源码学习的价值更大
48-
- Pro中新增全新的自媒体视频下载器桌面端软件(适合学习全栈项目开发)
49-
- 支持多个平台的首页信息流推荐(HomeFeed)
47+
### 🚀 MediaCrawlerPro 重磅发布!
5048

49+
> 专注于学习成熟项目的架构设计,不仅仅是爬虫技术,Pro 版本的代码设计思路同样值得深入学习!
5150
52-
# 安装部署方法
53-
> 开源不易,希望大家可以Star一下MediaCrawler仓库!!!!十分感谢!!! <br>
51+
[MediaCrawlerPro](https://github.com/MediaCrawlerPro) 相较于开源版本的核心优势:
5452

55-
## 前置依赖
53+
#### 🎯 核心功能升级
54+
-**断点续爬功能**(重点特性)
55+
-**多账号 + IP代理池支持**(重点特性)
56+
-**去除 Playwright 依赖**,使用更简单
57+
-**完整 Linux 环境支持**
5658

57-
### uv 安装
58-
> 在进行下一步操作之前, 请确保电脑上已经安装了uv,[uv安装地址](https://docs.astral.sh/uv/getting-started/installation)
59-
>
60-
> uv是否安装成功的验证, 终端输入命令:uv --version 如果正常显示版本好,那证明已经安装成功
61-
>
62-
> 强力安利 uv 给大家使用,简直是最强的python包管理工具
63-
>
59+
#### 🏗️ 架构设计优化
60+
-**代码重构优化**,更易读易维护(解耦 JS 签名逻辑)
61+
-**企业级代码质量**,适合构建大型爬虫项目
62+
-**完美架构设计**,高扩展性,源码学习价值更大
63+
64+
#### 🎁 额外功能
65+
-**自媒体视频下载器桌面端**(适合学习全栈开发)
66+
-**多平台首页信息流推荐**(HomeFeed)
67+
- [ ] **基于自媒体平台的AI Agent正在开发中 🚀🚀**
68+
69+
点击查看:[MediaCrawlerPro 项目主页](https://github.com/MediaCrawlerPro) 更多介绍
6470

65-
### nodejs安装
66-
项目依赖nodejs,安装地址:https://nodejs.org/en/download/
67-
> 如果要用python的原生venv来管理环境的话,可以参考: [原生环境管理文档](docs/原生环境管理文档.md)
71+
## 🚀 快速开始
6872

69-
### python包安装
73+
> 💡 **开源不易,如果这个项目对您有帮助,请给个 ⭐ Star 支持一下!**
74+
75+
## 📋 前置依赖
76+
77+
### 🚀 uv 安装(推荐)
78+
79+
在进行下一步操作之前,请确保电脑上已经安装了 uv:
80+
81+
- **安装地址**[uv 官方安装指南](https://docs.astral.sh/uv/getting-started/installation)
82+
- **验证安装**:终端输入命令 `uv --version`,如果正常显示版本号,证明已经安装成功
83+
- **推荐理由**:uv 是目前最强的 Python 包管理工具,速度快、依赖解析准确
84+
85+
<details>
86+
<summary>🔗 <strong>使用 Python 原生 venv 管理环境(不推荐)</strong></summary>
87+
88+
#### 创建并激活 Python 虚拟环境
89+
90+
> 如果是爬取抖音和知乎,需要提前安装 nodejs 环境,版本大于等于:`16` 即可
91+
92+
```shell
93+
# 进入项目根目录
94+
cd MediaCrawler
95+
96+
# 创建虚拟环境
97+
# 我的 python 版本是:3.9.6,requirements.txt 中的库是基于这个版本的
98+
# 如果是其他 python 版本,可能 requirements.txt 中的库不兼容,需自行解决
99+
python -m venv venv
100+
101+
# macOS & Linux 激活虚拟环境
102+
source venv/bin/activate
103+
104+
# Windows 激活虚拟环境
105+
venv\Scripts\activate
106+
```
107+
108+
#### 安装依赖库
109+
110+
```shell
111+
pip install -r requirements.txt
112+
```
113+
114+
#### 安装 playwright 浏览器驱动
115+
116+
```shell
117+
playwright install
118+
```
119+
120+
#### 运行爬虫程序(原生环境)
121+
122+
```shell
123+
# 项目默认是没有开启评论爬取模式,如需评论请在 config/base_config.py 中的 ENABLE_GET_COMMENTS 变量修改
124+
# 一些其他支持项,也可以在 config/base_config.py 查看功能,写的有中文注释
125+
126+
# 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论
127+
python main.py --platform xhs --lt qrcode --type search
128+
129+
# 从配置文件中读取指定的帖子ID列表获取指定帖子的信息与评论信息
130+
python main.py --platform xhs --lt qrcode --type detail
131+
132+
# 打开对应APP扫二维码登录
133+
134+
# 其他平台爬虫使用示例,执行下面的命令查看
135+
python main.py --help
136+
```
137+
138+
</details>
139+
140+
### 🟢 Node.js 安装
141+
142+
项目依赖 Node.js,请前往官网下载安装:
143+
144+
- **下载地址**https://nodejs.org/en/download/
145+
- **版本要求**:>= 16.0.0
146+
147+
### 📦 Python 包安装
70148

71149
```shell
72150
# 进入项目目录
73151
cd MediaCrawler
74152

75-
# 使用 uv sync 命令来保证python版本和相关依赖包的一致性
153+
# 使用 uv sync 命令来保证 python 版本和相关依赖包的一致性
76154
uv sync
77155
```
78156

79-
### 浏览器驱动安装
157+
### 🌐 浏览器驱动安装
158+
80159
```shell
81160
# 安装浏览器驱动
82-
playwright install
161+
uv run playwright install
83162
```
84-
> MediaCrawler目前已经支持使用playwright连接你本地的Chrome浏览器了,一些因为Webdriver导致的问题迎刃而解了。
85-
>
86-
> 目前开放了 xhs 和 dy 这两个使用 cdp 的方式连接本地浏览器,如有需要,查看config/base_config.py中的配置项。
87-
88-
## 运行爬虫程序
89-
90-
```shell
91-
### 项目默认是没有开启评论爬取模式,如需评论请在config/base_config.py中的 ENABLE_GET_COMMENTS 变量修改
92-
### 一些其他支持项,也可以在config/base_config.py查看功能,写的有中文注释
93-
94-
# 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论
95-
uv run main.py --platform xhs --lt qrcode --type search
96-
97-
# 从配置文件中读取指定的帖子ID列表获取指定帖子的信息与评论信息
98-
uv run main.py --platform xhs --lt qrcode --type detail
99-
100-
# 打开对应APP扫二维码登录
101-
102-
# 其他平台爬虫使用示例,执行下面的命令查看
103-
uv run main.py --help
104-
```
105-
106-
## 数据保存
107-
- 支持关系型数据库Mysql中保存(需要提前创建数据库)
108-
- 执行 `python db.py` 初始化数据库数据库表结构(只在首次执行)
109-
- 支持保存到csv中(data/目录下)
110-
- 支持保存到json中(data/目录下)
111-
112-
# 项目微信交流群
113-
[加入微信交流群](https://nanmicoder.github.io/MediaCrawler/%E5%BE%AE%E4%BF%A1%E4%BA%A4%E6%B5%81%E7%BE%A4.html)
163+
164+
> **💡 提示**:MediaCrawler 目前已经支持使用 playwright 连接你本地的 Chrome 浏览器了,一些因为 Webdriver 导致的问题迎刃而解了。
165+
>
166+
> 目前开放了 `xhs``dy` 这两个使用 CDP 的方式连接本地浏览器,如有需要,查看 `config/base_config.py` 中的配置项。
167+
168+
## 🚀 运行爬虫程序
169+
170+
```shell
171+
# 项目默认是没有开启评论爬取模式,如需评论请在 config/base_config.py 中的 ENABLE_GET_COMMENTS 变量修改
172+
# 一些其他支持项,也可以在 config/base_config.py 查看功能,写的有中文注释
173+
174+
# 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论
175+
uv run main.py --platform xhs --lt qrcode --type search
176+
177+
# 从配置文件中读取指定的帖子ID列表获取指定帖子的信息与评论信息
178+
uv run main.py --platform xhs --lt qrcode --type detail
179+
180+
# 打开对应APP扫二维码登录
181+
182+
# 其他平台爬虫使用示例,执行下面的命令查看
183+
uv run main.py --help
184+
```
185+
186+
## 💾 数据保存
187+
188+
支持多种数据存储方式:
189+
190+
- **MySQL 数据库**:支持关系型数据库 MySQL 中保存(需要提前创建数据库)
191+
- 执行 `python db.py` 初始化数据库表结构(只在首次执行)
192+
- **CSV 文件**:支持保存到 CSV 中(`data/` 目录下)
193+
- **JSON 文件**:支持保存到 JSON 中(`data/` 目录下)
194+
195+
---
196+
197+
## 🤝 社区与支持
198+
199+
### 💬 交流群组
200+
- **微信交流群**[点击加入](https://nanmicoder.github.io/MediaCrawler/%E5%BE%AE%E4%BF%A1%E4%BA%A4%E6%B5%81%E7%BE%A4.html)
201+
202+
### 📚 文档与教程
203+
- **在线文档**[MediaCrawler 完整文档](https://nanmicoder.github.io/MediaCrawler/)
204+
- **爬虫教程**[CrawlerTutorial 免费教程](https://github.com/NanmiCoder/CrawlerTutorial)
114205

115206

116207
# 其他常见问题可以查看在线文档
@@ -125,35 +216,41 @@ playwright install
125216
[作者的知识付费栏目介绍](https://nanmicoder.github.io/MediaCrawler/%E7%9F%A5%E8%AF%86%E4%BB%98%E8%B4%B9%E4%BB%8B%E7%BB%8D.html)
126217

127218

128-
# 感谢下列Sponsors对本仓库赞助支持
219+
---
220+
221+
## ⭐ Star 趋势图
222+
223+
如果这个项目对您有帮助,请给个 ⭐ Star 支持一下,让更多的人看到 MediaCrawler!
224+
225+
[![Star History Chart](https://api.star-history.com/svg?repos=NanmiCoder/MediaCrawler&type=Date)](https://star-history.com/#NanmiCoder/MediaCrawler&Date)
226+
227+
### 💰 赞助商展示
228+
129229
<a href="https://www.swiftproxy.net/?ref=nanmi">
130230
<img src="docs/static/images/img_5.png">
131231
<br>
132-
Swiftproxy-90M+全球高质量纯净住宅IP,注册可领免费500MB测试流量,动态流量不过期!
133-
> 我推荐的专属折扣码:GHB5 立享九折优惠!
232+
**Swiftproxy** - 90M+ 全球高质量纯净住宅IP,注册可领免费 500MB 测试流量,动态流量不过期!
233+
> 专属折扣码:**GHB5** 立享九折优惠!
134234
</a>
135235
136-
<br>
137-
<br>
138-
<a href="https://sider.ai/ad-land-redirect?source=github&p1=mi&p2=kk">【Sider】全网最火的ChatGPT插件,我也免费薅羊毛用了快一年了,体验拉满。</a>
139-
140-
成为赞助者,可以将您产品展示在这里,每天获得大量曝光,联系作者微信:yzglan 或 email:[email protected]
236+
<br><br>
141237

238+
<a href="https://sider.ai/ad-land-redirect?source=github&p1=mi&p2=kk">**Sider** - 全网最火的 ChatGPT 插件,体验拉满!</a>
142239

143-
# 爬虫入门课程
144-
我新开的爬虫教程Github仓库 [CrawlerTutorial](https://github.com/NanmiCoder/CrawlerTutorial) ,感兴趣的朋友可以关注一下,持续更新,主打一个免费.
240+
### 🤝 成为赞助者
145241

146-
# star 趋势图
147-
- 如果该项目对你有帮助,帮忙 star一下 ❤️❤️❤️,让更多的人看到MediaCrawler这个项目
242+
成为赞助者,可以将您的产品展示在这里,每天获得大量曝光!
148243

149-
[![Star History Chart](https://api.star-history.com/svg?repos=NanmiCoder/MediaCrawler&type=Date)](https://star-history.com/#NanmiCoder/MediaCrawler&Date)
244+
**联系方式**
245+
- 微信:`yzglan`
246+
- 邮箱:`[email protected]`
150247

151248

152-
# 参考
249+
## 📚 参考
153250

154-
- xhs客户端 [ReaJason的xhs仓库](https://github.com/ReaJason/xhs)
155-
- 短信转发 [参考仓库](https://github.com/pppscn/SmsForwarder)
156-
- 内网穿透工具 [ngrok](https://ngrok.com/docs/)
251+
- **小红书客户端**[ReaJason 的 xhs 仓库](https://github.com/ReaJason/xhs)
252+
- **短信转发**[SmsForwarder 参考仓库](https://github.com/pppscn/SmsForwarder)
253+
- **内网穿透工具**[ngrok 官方文档](https://ngrok.com/docs/)
157254

158255

159256
# 免责声明
@@ -179,7 +276,12 @@ Swiftproxy-90M+全球高质量纯净住宅IP,注册可领免费500MB测试流
179276
</div>
180277

181278

182-
## 感谢JetBrains提供的免费开源许可证支持
279+
## 🙏 致谢
280+
281+
### JetBrains 开源许可证支持
282+
283+
感谢 JetBrains 为本项目提供免费的开源许可证支持!
284+
183285
<a href="https://www.jetbrains.com/?from=MediaCrawler">
184286
<img src="https://www.jetbrains.com/company/brand/img/jetbrains_logo.png" width="100" alt="JetBrains" />
185287
</a>

0 commit comments

Comments
 (0)