douban-worker.js 是一个部署在 Cloudflare Workers 上的代理脚本。由于豆瓣官方 API 的限制,该脚本通过爬取豆瓣移动端网页并解析 HTML 来获取用户的电影和书籍数据。
功能特性
- 绕过限制:通过模拟浏览器请求,获取豆瓣用户的公开清单数据。
- 数据解析:使用正则表达式从 HTML 中提取电影/书籍的 ID、标题、封面图、评分、元数据和链接。
- CORS 支持:自动处理跨域请求,方便前端或构建脚本调用。
- 轻量高效:运行在边缘计算节点,响应速度快。
部署步骤
- 登录 Cloudflare Dashboard。
- 进入 Workers & Pages 页面。
- 点击 Create Application -> Create Worker。
- 将
scripts/douban-worker.js中的代码粘贴到编辑器中并部署。 - 部署完成后,记下 Worker 的 URL。
API 端点
部署后,你可以通过以下接口获取数据:
- 电影数据:
GET /movies/{userId}?type=done|doing|wish&start=0 - 书籍数据:
GET /books/{userId}?type=done|doing|wish&start=0
参数说明
userId: 豆瓣用户的唯一 ID 或数字 ID。type: 状态过滤(done: 已看/读,doing: 在看/读,wish: 想看/读)。start: 分页起始位置。
注意事项
- 稳定性:由于该脚本依赖于豆瓣移动端页面的 HTML 结构,如果豆瓣更新了页面布局,可能需要相应地调整正则表达式。
- 频率限制:虽然 Cloudflare Workers 提供了代理,但仍需注意不要过于频繁地请求豆瓣,以免触发反爬机制。