xhs_crawler/project.md

81 lines
1.9 KiB
Markdown
Raw Normal View History

2024-12-17 08:14:10 +00:00
# MediaCrawler 项目技术分析
## 总体架构
项目使用了 Playwright 作为核心技术来模拟浏览器行为,主要步骤包括:
1. 使用 Playwright 启动浏览器并保持登录状态
2. 通过执行 JS 获取加密参数
3. 使用 httpx 发送请求获取数据
4. 数据存储到 MySQL/CSV/JSON
## 各平台实现细节
### 1. 抖音
核心技术:
- 使用 Playwright 模拟浏览器环境
- 通过执行 JS 获取 X-Bogus 等加密参数
- 支持搜索、指定视频、创作者主页爬取
- 支持评论和二级评论获取
### 2. 小红书
核心技术:
- 使用 Playwright 获取登录态
- 通过 JS 注入获取 X-s 等签名参数
- 支持笔记搜索、指定笔记、用户主页爬取
- 支持评论数据抓取
### 3. 快手
核心技术:
- 使用 Playwright 维持登录状态
- 通过 JS 执行获取 _signature 等参数
- 支持视频搜索和指定视频爬取
- 支持评论数据抓取
### 4. B站
核心技术:
- Cookie 登录方式
- wbi 签名参数构造
- 支持视频搜索和指定视频爬取
- 支持评论数据抓取
### 5. 微博
核心技术:
- 使用 Playwright 维持登录态
- 通过 JS 获取加密参数
- 支持微博搜索和指定微博爬取
- 支持评论数据抓取
### 6. 贴吧
核心技术:
- Cookie 登录方式
- 通过解析 HTML 获取数据
- 支持帖子搜索和指定帖子爬取
- 支持评论数据抓取
### 7. 知乎
核心技术:
- 使用 Playwright 维持登录态
- 通过 JS 获取 x-zse-96 等参数
- 支持回答搜索和指定回答爬取
- 支持评论数据抓取
## 项目亮点
1. 使用抽象类设计,代码结构清晰
2. 支持 IP 代理池
3. 支持多账号登录
4. 支持生成评论词云图
5. 支持多种数据存储方式
6. 使用 Playwright 降低逆向难度
这个项目通过巧妙使用 Playwright 来获取加密参数,大大降低了爬虫的开发难度,是一个非常实用的自媒体平台数据采集工具。
#63f85aee0000000013015174