first commit
This commit is contained in:
59
README.md
Normal file
59
README.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# douban-crawler
|
||||
|
||||
使用 Playwright + TypeScript 实现的豆瓣登录与辅助脚本,主要功能包括:
|
||||
|
||||
- 通过短信验证码完成豆瓣登录,并持久化 Cookies;
|
||||
- 自动尝试滑块验证,降低人工干预;
|
||||
- 可单独运行的滑块模拟脚本,便于在其它场景复用。
|
||||
|
||||
## 快速开始
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npx playwright install chromium
|
||||
```
|
||||
|
||||
首次运行登录脚本需要提供手机号:
|
||||
|
||||
```bash
|
||||
DOUBAN_PHONE=13357108011 npm run login
|
||||
```
|
||||
|
||||
若需启用滑块自动化,可增加 `DOUBAN_AUTO_SLIDER=1`,更多环境变量见下文。
|
||||
|
||||
## 脚本说明
|
||||
|
||||
| 命令 | 说明 |
|
||||
| -------------------- | ------------------------------- |
|
||||
| `npm run login` | 豆瓣短信登录,复用 `~/cookies.json` |
|
||||
| `npm run slider --` | 手动指定页面/选择器进行滑块模拟 |
|
||||
|
||||
## 配置项
|
||||
|
||||
登录流程支持以下环境变量:
|
||||
|
||||
| 变量名 | 说明 | 默认值 |
|
||||
| ---------------------------------- | ----------------------------------------------------------------------- | ---------------- |
|
||||
| `DOUBAN_PHONE` | 登录手机号(必填) | - |
|
||||
| `DOUBAN_AUTO_SLIDER` | 是否尝试自动完成滑块验证(`1` 表示开启) | `0` |
|
||||
| `DOUBAN_SLIDER_DISTANCE` | 自定义滑块拖动距离(像素);缺省时脚本根据轨道宽度推测 | 自动推测或 200px |
|
||||
| `DOUBAN_SLIDER_OFFSETS` | 距离微调列表(逗号分隔,逐个尝试以校正识别误差) | 自动选择 |
|
||||
| `DOUBAN_SLIDER_HANDLE_SELECTOR` | 覆盖默认滑块按钮选择器 | 内置候选 |
|
||||
| `DOUBAN_SLIDER_TRACK_SELECTOR` | 覆盖默认滑块轨道选择器 | 内置候选 |
|
||||
| `DOUBAN_SLIDER_BG_SELECTOR` | 覆盖滑块背景图选择器 | 内置候选 |
|
||||
| `DOUBAN_SLIDER_PIECE_SELECTOR` | 覆盖滑块拼图块选择器 | 内置候选 |
|
||||
| `DOUBAN_SLIDER_TIMEOUT` | 等待滑块组件出现的超时(毫秒) | 20000 |
|
||||
|
||||
Cookies 将默认保存到用户主目录下的 `~/cookies.json`,可根据需要修改 `src/login.ts` 中的路径。
|
||||
|
||||
## 开发脚本
|
||||
|
||||
- `src/login.ts`:主登录流程,负责 Cookie 复用、短信登录以及滑块自动化;
|
||||
- `src/slider.ts`:滑块模拟工具,既提供通用函数,也能独立运行;
|
||||
- `login.md`:原始业务需求与操作步骤;
|
||||
- `block.md`:滑块破解思路(Python 版)与 TypeScript 脚本参考;
|
||||
- `typescript-spec.md`:团队 TypeScript 编码规范与示例。
|
||||
|
||||
## 许可
|
||||
|
||||
本项目仅用于功能验证和学习,使用时请遵守目标网站的服务条款。
|
||||
Reference in New Issue
Block a user