본문으로 건너뛰기
cccskills
무료GitHub에 공개

douban-skill

Export and sync Douban (豆瓣) book/movie/music/game collections to local CSV files via Frodo API. Supports full export (all history) and RSS incremental sync (recent items). Use when the user wants to export Douban reading/watching/listening/gaming history, back up their Douban data, set up incremental sync, or mentions 豆瓣/douban collections. Triggers on: 豆瓣, douban, 读书记录, 观影记录, 书影音, 导出豆瓣.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(5)

  • SKILL.md4.6 KB
  • .gitleaks.toml699 B
  • references/troubleshooting.md9.7 KB
  • scripts/douban-frodo-export.py10.8 KB
  • scripts/douban-rss-sync.mjs7.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Douban Collection Export

Export Douban user collections (books, movies, music, games) to CSV files. Douban has no official data export; the official API shut down in 2018.

What This Skill Can Do

  • Full export of all book/movie/music/game collections via Frodo API
  • RSS incremental sync for daily updates (last ~10 items)
  • CSV output with UTF-8 BOM (Excel-compatible), cross-platform (macOS/Windows/Linux)
  • No login, no cookies, no browser required
  • Pre-flight user ID validation (fail fast on wrong ID)

What This Skill Cannot Do

  • Cannot export reviews (长评), notes (读书笔记), or broadcasts (广播)
  • Cannot filter by single category in one run (exports all 4 types together)
  • Cannot access private profiles (returns 0 items silently)

Why Frodo API (Do NOT Use Web Scraping)

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.

Security & Privacy

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.

Full Export (Primary Method)

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 directory

Default output (auto-detected per platform):

  • macOS: ~/Downloads/douban-sync/<user_id>/
  • Windows: %USERPROFILE%\Downloads\douban-sync\<user_id>\
  • Linux: ~/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

RSS Incremental Sync (Complementary)

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.

Output Format

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)
  • Safe to run multiple times (overwrites with fresh data)
  • Row counts may be slightly below Douban's displayed count due to delisted items

Workflow

  1. Ask for Douban user ID (from profile URL, or accept full URL)
  2. Run: DOUBAN_USER=<id> python3 scripts/douban-frodo-export.py
  3. Verify: row counts in console output should match, check with wc -l <output_dir>/*.csv
  4. (Optional) Set up RSS sync for daily incremental updates

Troubleshooting

See references/troubleshooting.md for:

  • Frodo API auth details (HMAC-SHA1 signature computation)
  • Common errors (code 996 signature error, rate limits, pagination quirks)
  • Complete failure log of all 7 tested approaches with root causes
  • Alternative approaches (豆伴 extension, Tampermonkey script, browser console)
  • API endpoint reference with response format

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Fixes web search on an agent whose model backend can't run it: a relay/reseller proxying Claude or Codex returns empty instead of failing. Use when web search returns nothing, a model insists a shipped product doesn't exist, someone wants to give an agent internet access, or the user is on a third-party base URL, relay, or 中转站. Diagnoses which built-in tools are dead, removes them, and installs a working replacement.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

daymade/claude-code-skills1.5천2026년 10월 19일 업데이트

Improves an existing application using its code, product contract, authorized work history and competitor evidence. Use for 取长补短、取其精华去其糟粕、参考竞品优化应用 or evolving an app from successful and failed work. Carries authorized changes through implementation and user-result verification, including REA and reverse Skill composition; use skill-evolver for Skills.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

daymade/claude-code-skills1.5천2026년 10월 19일 업데이트

抓取 A 股消息面情报:从财联社、华尔街见闻、金十、新浪 7x24、东财快讯、 证监会/央行/上交所/财政部政策公告、东方财富股吧等公开来源抓取与股票相关的 新闻、政策、情绪,输出结构化 JSON 或 Markdown。 当用户提到“A 股消息面”、“抓新闻”、“个股消息”、“政策监管”、“股吧情绪”、 “财联社”、“东财快讯”、“市场情绪”或需要把某只股票相关的公开情报聚合出来时 触发。也适用于“帮我看看 000001 最近有什么消息”这类口语化请求。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

daymade/claude-code-skills1.5천2026년 10월 19일 업데이트

Transcribes audio or video to speaker-labeled, timestamped text, locally with MLX on Apple Silicon or remotely. Use for 转录 / 录音转文字 / 说话人分离 / 字幕, and also for preparing audio for ASR without transcribing: 转格式, 降采样到 16kHz, merging recorder segments, or compressing and speeding up audio before 飞书妙记 — even when it looks like a one-line ffmpeg job.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

daymade/claude-code-skills1.5천2026년 10월 19일 업데이트

Routes audio: StepFun ASR/语音识别, StepFun TTS/配音, transcript/妙记→会议纪要, merge/review minutes. Reads one bundled specialist; generic ASR and correction stay direct.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

daymade/claude-code-skills1.5천2026년 10월 19일 업데이트

Diagnoses and repairs repository setup and guarded Git workflows for Claude Code or Codex — environment repair, startup sync, hook auditing, collaborator handoff. Use when a repo won't run, a teammate onboards, hook output duplicates, or commit/push/conflict needs guarding. Not for lost-commit recovery (use git-safety-net), GitHub ops (use github-ops), or history scrubbing (use github-sensitive-data-cleanup).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

daymade/claude-code-skills1.5천2026년 10월 19일 업데이트

daymade의 스킬 모두 보기

이 스킬의 문제 신고