-
released this
2025-10-24 22:28:19 +08:00 | 4 commits to main since this release滑块验证码需人工处理,本项目不再尝试自动识别。
- 启动 Chromium 浏览器并访问豆瓣登录页;
- 自动填写手机号,触发短信验证码;
- 控制台提示用户完成页面内的额外验证(如滑块)并输入短信验证码;
- 登录成功后将 Cookie 状态保存到
~/douban-cookie.json,后续运行可直接复用。
npm install npx playwright install chromium需要 Node.js ≥ 18。Playwright 会自动下载 Chromium,首次运行请确保网络可访问 Playwright CDN。
-
设置手机号环境变量并运行登录脚本:
DOUBAN_PHONE=13800000000 npm run login -
浏览器会自动打开豆瓣登录页,脚本完成以下操作:
- 填入手机号并点击「获取验证码」;
- 控制台提示等待页面验证(若出现滑块,请手动完成);
- 控制台等待用户输入短信验证码;
- 验证码提交成功后,脚本将登录态写入
~/douban-cookie.json并退出。
-
下次运行会优先尝试加载该 Cookie 文件,若仍在有效期内可直接登录。
命令 说明 npm run login启动豆瓣登录流程并保存 Cookie 当前脚本仅使用一个环境变量:
变量名 说明 是否必填 默认值 DOUBAN_PHONE登录手机号(大陆) 必填 - 若需要更改 Cookie 保存位置,可在
src/login.ts中调整COOKIES_PATH定义。- 读取
DOUBAN_PHONE,未提供则直接退出; - 若存在
~/douban-cookie.json,加载后访问登录页并校验登录态; - 如未登录,执行短信验证码流程,期间需手动处理页面可能出现的滑块或图形验证码;
- 用户在终端输入收到的短信验证码;
- 验证通过后,将当前浏览器上下文的
storageState写入~/douban-cookie.json。
- 登录后仍提示手机号未填写? 确认 Playwright 浏览器窗口焦点在页面内,避免浏览器阻止自动填充。
- 提示滑块验证但脚本无动作? 脚本已停止自动滑块功能,请在浏览器中手动拖动滑块完成验证。
- Cookie 未生成? 只有当脚本确认登录成功时才会写入 Cookie。若终端未看到 “登录成功,Cookies 已保存…” 的日志,请检查短信验证码是否正确。
DOUBAN_AUTO_SLIDER=1 DOUBAN_PHONE=13800138000 npm run login npm run slidersrc/login.ts:主登录流程,负责 Cookie 复用、短信登录以及滑块自动化;login.md:原始业务需求与操作步骤;block.md:滑块破解思路(Python 版)与 TypeScript 脚本参考;typescript-spec.md:团队 TypeScript 编码规范与示例。
本项目仅用于功能验证和学习,使用时请遵守目标网站的服务条款。
Downloads