From douban-skill
Exports Douban book/movie/music/game collections to CSV using Frodo API. Supports full history export and RSS incremental sync. Triggers on 豆瓣/douban/书影音 mentions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/douban-skill:douban-skillThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Export Douban user collections (books, movies, music, games) to CSV files.
Export Douban user collections (books, movies, music, games) to CSV files. Douban has no official data export; the official API shut down in 2018.
Douban uses PoW (Proof of Work) challenges on web pages, blocking all HTTP scraping.
We tested 7 approaches — only the Frodo API works. Do NOT attempt web scraping,
browser_cookie3+requests, curl with cookies, or Jina Reader.
See references/troubleshooting.md for the complete failure log of all 7 tested approaches and why each failed.
The API key and HMAC secret in the script are Douban's public mobile app credentials,
extracted from the APK. They are shared by all Douban app users and do not identify you.
No personal credentials are used or stored. Data is fetched only from frodo.douban.com.
DOUBAN_USER=<user_id> python3 scripts/douban-frodo-export.py
Finding the user ID: Profile URL douban.com/people/<ID>/ — the ID is after /people/.
If the user provides a full URL, the script auto-extracts the ID.
Environment variables:
DOUBAN_USER (required): Douban user ID (alphanumeric or numeric, or full profile URL)DOUBAN_OUTPUT_DIR (optional): Override output directoryDefault output (auto-detected per platform):
~/Downloads/douban-sync/<user_id>/%USERPROFILE%\Downloads\douban-sync\<user_id>\~/Downloads/douban-sync/<user_id>/Dependencies: Python 3.6+ standard library only (works with python3 or uv run).
Example console output:
Douban Export for user: your_douban_id
Output directory: /Users/you/Downloads/douban-sync/your_douban_id
=== 读过 (book) ===
Total: 639
Fetched 0-50 (50/639)
Fetched 50-100 (100/639)
...
Fetched 597-639 (639/639)
Collected: 639
=== 在读 (book) ===
Total: 75
...
--- Writing CSV files ---
书.csv: 996 rows
影视.csv: 238 rows
音乐.csv: 0 rows
游戏.csv: 0 rows
Done! 1234 total items exported to /Users/you/Downloads/douban-sync/your_douban_id
DOUBAN_USER=<user_id> node scripts/douban-rss-sync.mjs
RSS returns only the latest ~10 items (no pagination). Use Full Export first, then RSS for daily updates.
Four CSV files per user:
Downloads/douban-sync/<user_id>/
├── 书.csv (读过 + 在读 + 想读)
├── 影视.csv (看过 + 在看 + 想看)
├── 音乐.csv (听过 + 在听 + 想听)
└── 游戏.csv (玩过 + 在玩 + 想玩)
Columns: title, url, date, rating, status, comment
rating: ★ to ★★★★★ (empty if unrated)date: YYYY-MM-DD (when the user marked it)DOUBAN_USER=<id> python3 scripts/douban-frodo-export.pywc -l <output_dir>/*.csvSee references/troubleshooting.md for:
Interacts with Raindrop.io bookmarks service via its REST API using curl and jq. Covers CRUD for collections, raindrops, tags, highlights, filters, import/export, and backups.
Interacts with 55+ social/content websites (HackerNews, Reddit, Twitter/X, Bilibili, YouTube, etc.) via CLI using Chrome login state. Extracts article content as Markdown from any URL. Prefer over Playwright for supported sites.
Extracts Feishu/Lark docs, wiki pages, collections, spreadsheets, and Minutes transcripts into faithful local Markdown via lark-cli API, with browser-DOM and .docx fallback paths.
npx claudepluginhub daymade/claude-code-skills --plugin douban-skill