|
21 | 21 | 目前能抓取小红书、抖音、快手、B站、微博、贴吧、知乎等平台的公开信息。 |
22 | 22 |
|
23 | 23 | 原理:利用[playwright](https://playwright.dev/)搭桥,保留登录成功后的上下文浏览器环境,通过执行JS表达式获取一些加密参数 |
24 | | -通过使用此方式,免去了复现核心加密JS代码,逆向难度大大降低 |
| 24 | +通过使用此方式,免去了复现核心加密JS代码,逆向难度大大降低。 |
25 | 25 |
|
26 | 26 | # 功能列表 |
27 | 27 | | 平台 | 关键词搜索 | 指定帖子ID爬取 | 二级评论 | 指定创作者主页 | 登录态缓存 | IP代理池 | 生成评论词云图 | |
|
52 | 52 | # 安装部署方法 |
53 | 53 | > 开源不易,希望大家可以Star一下MediaCrawler仓库!!!!十分感谢!!! <br> |
54 | 54 |
|
55 | | -## 创建并激活 python 虚拟环境 |
56 | | -> 如果是爬取抖音和知乎,需要提前安装nodejs环境,版本大于等于:`16`即可 <br> |
57 | | -> 新增 [uv](https://github.com/astral-sh/uv) 来管理项目依赖,使用uv来替代python版本管理、pip进行依赖安装,更加方便快捷 |
58 | | - ```shell |
59 | | - # 进入项目根目录 |
60 | | - cd MediaCrawler |
61 | | - |
62 | | - # 创建虚拟环境 |
63 | | - # 我的python版本是:3.9.6,requirements.txt中的库是基于这个版本的,如果是其他python版本,可能requirements.txt中的库不兼容,自行解决一下。 |
64 | | - python -m venv venv |
65 | | - |
66 | | - # macos & linux 激活虚拟环境 |
67 | | - source venv/bin/activate |
| 55 | +## 前置依赖 |
68 | 56 |
|
69 | | - # windows 激活虚拟环境 |
70 | | - venv\Scripts\activate |
| 57 | +### uv 安装 |
| 58 | +> 在进行下一步操作之前, 请确保电脑上已经安装了uv,[uv安装地址](https://docs.astral.sh/uv/getting-started/installation) |
| 59 | +> |
| 60 | +> uv是否安装成功的验证, 终端输入命令:uv --version 如果正常显示版本好,那证明已经安装成功 |
| 61 | +> |
| 62 | +> 强力安利 uv 给大家使用,简直是最强的python包管理工具 |
| 63 | +> |
71 | 64 |
|
72 | | - ``` |
| 65 | +### nodejs安装 |
| 66 | +项目依赖nodejs,安装地址:https://nodejs.org/en/download/ |
| 67 | +> 如果要用python的原生venv来管理环境的话,可以参考: [原生环境管理文档](docs/原生环境管理文档.md) |
73 | 68 |
|
74 | | -## 安装依赖库 |
| 69 | +### python包安装 |
75 | 70 |
|
76 | | - ```shell |
77 | | - pip install -r requirements.txt |
78 | | - ``` |
| 71 | +```shell |
| 72 | +# 进入项目目录 |
| 73 | +cd MediaCrawler |
79 | 74 |
|
80 | | -## 安装 playwright浏览器驱动 |
| 75 | +# 使用 uv sync 命令来保证python版本和相关依赖包的一致性 |
| 76 | +uv sync |
| 77 | +``` |
81 | 78 |
|
82 | | - ```shell |
83 | | - playwright install |
84 | | - ``` |
| 79 | +### 浏览器驱动安装 |
| 80 | +```shell |
| 81 | +# 安装浏览器驱动 |
| 82 | +playwright install |
| 83 | +``` |
| 84 | +> MediaCrawler目前已经支持使用playwright连接你本地的Chrome浏览器了,一些因为Webdriver导致的问题迎刃而解了。 |
| 85 | +> |
| 86 | +> 目前开放了 xhs 和 dy 这两个使用 cdp 的方式连接本地浏览器,如有需要,查看config/base_config.py中的配置项。 |
85 | 87 |
|
86 | 88 | ## 运行爬虫程序 |
87 | 89 |
|
|
90 | 92 | ### 一些其他支持项,也可以在config/base_config.py查看功能,写的有中文注释 |
91 | 93 |
|
92 | 94 | # 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论 |
93 | | - python main.py --platform xhs --lt qrcode --type search |
| 95 | + uv run main.py --platform xhs --lt qrcode --type search |
94 | 96 |
|
95 | 97 | # 从配置文件中读取指定的帖子ID列表获取指定帖子的信息与评论信息 |
96 | | - python main.py --platform xhs --lt qrcode --type detail |
| 98 | + uv run main.py --platform xhs --lt qrcode --type detail |
97 | 99 |
|
98 | 100 | # 打开对应APP扫二维码登录 |
99 | 101 |
|
100 | 102 | # 其他平台爬虫使用示例,执行下面的命令查看 |
101 | | - python main.py --help |
102 | | - ``` |
| 103 | + uv run main.py --help |
| 104 | + ``` |
103 | 105 |
|
104 | 106 | ## 数据保存 |
105 | 107 | - 支持关系型数据库Mysql中保存(需要提前创建数据库) |
106 | 108 | - 执行 `python db.py` 初始化数据库数据库表结构(只在首次执行) |
107 | 109 | - 支持保存到csv中(data/目录下) |
108 | 110 | - 支持保存到json中(data/目录下) |
109 | 111 |
|
110 | | - |
| 112 | +# 项目微信交流群 |
| 113 | +[加入微信交流群](https://nanmicoder.github.io/MediaCrawler/%E5%BE%AE%E4%BF%A1%E4%BA%A4%E6%B5%81%E7%BE%A4.html) |
| 114 | + |
111 | 115 |
|
112 | 116 | # 其他常见问题可以查看在线文档 |
113 | 117 | > |
|
120 | 124 |
|
121 | 125 | [作者的知识付费栏目介绍](https://nanmicoder.github.io/MediaCrawler/%E7%9F%A5%E8%AF%86%E4%BB%98%E8%B4%B9%E4%BB%8B%E7%BB%8D.html) |
122 | 126 |
|
123 | | -# 项目微信交流群 |
124 | 127 |
|
125 | | -[加入微信交流群](https://nanmicoder.github.io/MediaCrawler/%E5%BE%AE%E4%BF%A1%E4%BA%A4%E6%B5%81%E7%BE%A4.html) |
126 | | - |
127 | 128 | # 感谢下列Sponsors对本仓库赞助支持 |
128 | 129 | <a href="https://www.swiftproxy.net/?ref=nanmi"> |
129 | 130 | <img src="docs/static/images/img_5.png"> |
|
0 commit comments