douban-backup README

The project's README from github.com/zcyoung2000/douban-backup. As one markdown file: README.md.

douban-backup

Python 3.10+ License: MIT uv

命令行备份你的豆瓣账号 —— 电影 / 音乐 / 图书 / 游戏 / 剧集(想看 · 在看 · 看过),

一个 Python 单文件脚本,uv run 直跑、零配置。备份结果存入 SQLite,并可导出为与 Chrome 扩展「豆伴」结构完全一致的 Excel 工作簿。

本项目受「豆伴 / 豆坟」(tofu) 项目启发,用 Python 独立重写了其「书影音游剧」标记的 核心抓取与导出逻辑。代码为全新实现,未包含原项目的任何源码。

特性

快速开始

需要先安装 uv(macOS:brew install uv),并在浏览器登录 douban.com。

uv run douban_backup.py

uv 会自动安装全部依赖,抓取完成后生成 douban_interests.xlsx,原始数据存于 douban_backup.db。

不想用 uv?也可以 pip install requests beautifulsoup4 lxml browser_cookie3 openpyxl 后直接 python douban_backup.py。

方式 命令
自动读浏览器(默认) uv run douban_backup.py
指定浏览器 uv run douban_backup.py --browser chrome
手动 cookie 串 uv run douban_backup.py --cookie 'ck=xxx; dbcl2="123:abc"; bid=yyy'
仅 ck + dbcl2 uv run douban_backup.py --ck xxx --dbcl2 '"123:abc"'

手动方式获取 cookie:浏览器打开 douban.com → F12 → Network → 点任意请求 → 复制请求头里的 Cookie 整串。

macOS 首次读取 Chrome cookie 时,系统会弹钥匙串授权框,点「始终允许」即可。

命令行参数

--user USER          备份指定用户的数字 ID(默认当前登录账号)
--db DB              SQLite 数据库路径(默认 douban_backup.db)
-o, --output PATH    导出路径,.xlsx 或 .csv(默认 douban_interests.xlsx)
--interval SEC       请求间隔秒数(默认 1.0)
--no-export          只备份到数据库,不导出文件
--export-only        仅从已有数据库导出,不抓取
--browser NAME       读取 cookie 的浏览器:chrome/edge/brave/opera/chromium/firefox/safari
--cookie STRING      手动提供完整 cookie 字符串
--ck / --dbcl2       手动提供单个关键 cookie
-v, --verbose        输出调试日志

示例

# 仅从已备份的数据库重新导出
uv run douban_backup.py --export-only -o 我的标记.xlsx

# 备份他人(需对方数字 ID)
uv run douban_backup.py --user 12345678

# 只备份、不导出
uv run douban_backup.py --no-export

# 放慢请求避免被限流
uv run douban_backup.py --interval 2

导出格式

与原插件「豆伴」的 Excel 导出完全一致:

列 数据来源
标题 subject.title
简介 subject.card_subtitle
豆瓣评分 subject.rating.value(保留 1 位小数);无评分时为 subject.null_rating_reason
链接 subject.url
创建时间 create_time
我的评分 rating.value(未评分为空)
标签 tags(逗号分隔)
评论 comment
可见性 is_private ? private : public

指定 .csv 或未安装 openpyxl 时,降级为「每个有数据的 sheet 导出一个 CSV 文件」。

增量备份

每次运行以时间戳为版本号。仅当某条目的 状态 / 短评 / 评分 / 标签 发生变化时才更新, 旧版本会以版本号为键存入 history 字段;完全相同的重复标记不会产生冗余历史。可放心反复运行。

注意事项

致谢

License

MIT

douban-backup (zcyoung2000/douban-backup)

Searching Database…

一个 Python 单文件脚本,uv run 直跑、零配置。备份结果存入 SQLite,并可导出为与 Chrome 扩展「豆伴」结构完全一致的 Excel 工作簿。

Size
<0.1 MB
Stars
749
Updated
CommitJun 26
Age
3mo
Commits · 90 Days