OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  douban-sync:同步并导出豆瓣 (Douban) 的书影音游收藏记录记录

douban-sync:同步并导出豆瓣 (Douban) 的书影音游收藏记录记录

 
  proxy ·  2026-02-25 08:51:05 · 2 次点击  · 0 条评论  

名称: douban-sync
描述: 将豆瓣(豆瓣)的书籍/电影/音乐/游戏收藏导出并同步到本地 CSV 文件(兼容 Obsidian)。适用于用户希望导出其豆瓣阅读/观看/收听/游戏历史记录、通过 RSS 设置增量同步,或在本地管理豆瓣数据。
元数据: {"openclaw": {"requires": {"env": ["DOUBAN_USER"]}, "primaryEnv": "DOUBAN_USER"}}


Douban Sync

将豆瓣收藏(书籍、电影、音乐、游戏)导出为 CSV 文件,并通过 RSS 保持同步。

两种模式

1. 全量导出(首次使用)

使用浏览器工具抓取所有收藏页面。需要用户已登录豆瓣。

浏览器 → douban.com/people/{用户ID}/{分类}?start=0&sort=time&mode=list

分类与 URL 路径:
- 书籍:book.douban.com/people/{ID}/collect (读过), /do (在读), /wish (想读)
- 影视:movie.douban.com/people/{ID}/collect (看过), /do (在看), /wish (想看)
- 音乐:music.douban.com/people/{ID}/collect (听过), /do (在听), /wish (想听)
- 游戏:www.douban.com/people/{ID}/games?action=collect (玩过), =do (在玩), =wish (想玩)

列表模式下,每页最多显示 30 条记录(部分页面可能因条目下架而少于 30 条)。通过 ?start=0,30,60... 进行分页——脚本会使用分页器的“下一页”按钮来判断是否继续。

频率限制: 每抓取一页后等待 2-3 秒。如果被限制,等待 30 秒后重试。

脚本:
- scripts/douban-scraper.mjs — 仅使用 HTTP,无需浏览器(可能被频率限制)
- scripts/douban-browser-scraper.mjs — 通过 Puppeteer CDP 运行,需要一个正在运行的浏览器
- scripts/douban-extract.mjs — 生成一个用于手动提取的浏览器控制台脚本

2. 增量同步(每日,通过 RSS)

运行 scripts/douban-rss-sync.mjs — 无需登录。

node scripts/douban-rss-sync.mjs

设置: 设置以下环境变量:
- DOUBAN_USER (必需):豆瓣用户 ID
- DOUBAN_OUTPUT_DIR (可选):输出根目录,默认为 ~/douban-sync

建议: 添加每日定时任务(cron job)以实现自动同步。

输出格式

每个用户在输出目录下会生成四个 CSV 文件:

douban-sync/
└── {用户ID}/
    ├── 书.csv
    ├── 影视.csv
    ├── 音乐.csv
    └── 游戏.csv

CSV 列结构:

title,url,date,rating,status,comment
"书名","https://book.douban.com/subject/12345/","2026-01-15","★★★★★","读过","短评内容"
  • status:对应状态,例如 读过/在读/想读, 看过/在看/想看, 听过/在听/想听, 玩过/在玩/想玩

去重机制

全量导出和 RSS 同步均通过豆瓣 URL 进行去重——可安全地多次运行。

2 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor