Douban Bookmark
/install douban-bookmark
豆瓣图书 Bookmark 自动化
不要再使用 agent-browser。
统一使用本 skill 自带脚本:
scripts/add_wishlist.pyscripts/add_wishlist.sh
这套方案分成两段:
- 用
requests + BeautifulSoup解析豆瓣搜索页,稳定拿到第一本书的详情页 URL - 用
Playwright launch_persistent_context复用本地浏览器 profile,打开详情页并点击「想读」
前提
环境依赖:
python3requestsbeautifulsoup4playwright- 已安装 Chromium:
playwright install chromium
首次登录
首次使用时,先让用户登录一次豆瓣:
python3 skills/douban-bookmark/scripts/add_wishlist.py --login --headed
规则:
- 必须带
--headed - 登录完成后,浏览器 profile 会保存在默认目录
- 后续加入「想读」时复用同一个 profile,不要换目录
默认 profile 目录:
~/.openclaw/browser-profiles/douban-playwright
正常使用
python3 skills/douban-bookmark/scripts/add_wishlist.py "金钱的艺术"
或者:
skills/douban-bookmark/scripts/add_wishlist.sh "金钱的艺术"
脚本会:
- 搜索书名
- 解析第一本书详情页 URL
- 打开详情页
- 点击「想读」
- 输出 JSON 结果
推荐执行策略
已知用户没登录时
先执行:
python3 skills/douban-bookmark/scripts/add_wishlist.py --login --headed
等用户登录完成后,再执行:
python3 skills/douban-bookmark/scripts/add_wishlist.py "书名"
已有登录态时
直接执行:
python3 skills/douban-bookmark/scripts/add_wishlist.py "书名"
需要观察浏览器行为时
改成有头模式:
python3 skills/douban-bookmark/scripts/add_wishlist.py "书名" --headed
输出判断
脚本输出 JSON,重点看这些字段:
subject_url: 命中的豆瓣图书详情页clicked: 是否实际执行了点击needs_login: 是否需要先登录success: 是否大概率成功
如果:
needs_login=true→ 先让用户登录clicked=false→ 页面结构变了,需要修脚本success=true→ 可向用户报告已完成或大概率完成
实现细节
搜索阶段
不要依赖豆瓣图书搜索页前端渲染。
直接请求:
https://www.douban.com/search?cat=1001&q=\x3C书名>
从 HTML 里解析 .result .title a 或 .result .pic a,提取其中跳转到:
https://book.douban.com/subject/\x3Cid>/
点击阶段
不要依赖 ref 编号。
豆瓣这里不是“一次点击就完成”的普通按钮,而是两段式交互:
- 先点详情页上的
input[type=submit][value='想读'] - 再点弹层表单里的
input[type=submit][value='保存']
如果页面已经处于成功态,常见标志是:
- 出现
我想读这本书 - 出现
修改 - 出现
删除
登录态
必须使用持久化 context:
launch_persistent_context(user_data_dir=...)
不要使用临时 browser context,否则豆瓣登录态会丢。
失败处理
如果失败:
- 先看是否
needs_login=true - 再用
--headed重跑一次观察页面 - 若点击控件失效,更新
add_wishlist.py里的选择器 - 不要假装成功
操作准则
- 优先使用自带脚本,不要临时拼一堆浏览器命令
- 优先复用默认 profile 目录
- 登录问题优先走
--login --headed - 页面结构变化时,修改脚本,不要回退到 agent-browser
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install douban-bookmark - 安装完成后,直接呼叫该 Skill 的名称或使用
/douban-bookmark触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Douban Bookmark 是什么?
输入图书名称,把它加入豆瓣读书的「想读」收藏。适用于“把《xxx》加入豆瓣想读 / 愿望清单 / 想读列表”这类请求。实现方式:先用 HTTP 解析豆瓣搜索结果拿到最优图书详情页,再用 Playwright 持久化浏览器登录态打开详情页,执行豆瓣真实的两段式收藏流程(点“想读”→ 点“保存”)。首次登录后可长期复... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 208 次。
如何安装 Douban Bookmark?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install douban-bookmark」即可一键安装,无需额外配置。
Douban Bookmark 是免费的吗?
是的,Douban Bookmark 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Douban Bookmark 支持哪些平台?
Douban Bookmark 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Douban Bookmark?
由 jinntrance(@jinntrance)开发并维护,当前版本 v1.0.0。