Skip to content

rwalle/douban-export

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

豆瓣 → Goodreads / Letterboxd 数据迁移工具

纯 Python + requests + BeautifulSoup。

代码为公有领域(Public Domain),可自由使用、修改、fork。 本人已亲自在自己的数据上验证通过,但无法保证此代码在您看到时仍然可用。


支持的迁移

数据类型 目标平台 输出文件 匹配字段
豆瓣图书 Goodreads goodreads_books.csv ISBN
豆瓣影视 Letterboxd letterboxd_movies.csv IMDB ID

默认情况下,输出标题和评论,不输出导演名

  • ISBN / IMDB ID 是唯一的可靠匹配字段;导演名因语言差异不参与匹配,默认不输出
  • 评论默认输出,可用 --no-import-review 关闭

快速开始

# 安装
source .venv/bin/activate

# 测试模式(极小量,无延迟)
python3 cli.py --book --mode test
python3 cli.py --movie --mode test

# 有限测试(2 页,有延迟,导出 CSV)
python3 cli.py --book --mode limited
python3 cli.py --movie --mode limited

# 正式迁移
python3 cli.py --book
python3 cli.py --movie

# 两者同时执行
python3 cli.py --book --movie

运行模式

模式 说明
test 1 页列表 + 1 条 ISBN/IMDB,无延迟,快速验证
limited 2 页列表,有延迟,导出 CSV
full(默认) 全部数据

常用选项

# 限制最大页数
python3 cli.py --book --pages 5

# 开启 HTML 调试转储(保存到 output/.work/html_dump/)
python3 cli.py --book --dump-html

# 从断点继续
python3 cli.py --book --resume
python3 cli.py --movie --resume

# 不输出评论(默认输出评论)
python3 cli.py --book --no-import-review
python3 cli.py --movie --no-import-review

# 覆盖 User-Agent
python3 cli.py --book --ua "自定义 UA"

输出文件说明

所有文件默认输出到 output/ 目录(由 .gitignore 忽略):

output/
├── goodreads_books.csv          # Goodreads 可导入 CSV
├── goodreads_books.missing_isbn.csv  # 缺失 ISBN 的书(需手动补全)
├── letterboxd_movies.csv        # Letterboxd 可导入 CSV
└── letterboxd_movies.missing_imdb.csv  # 缺失 IMDB ID 的影视(需手动补全)

导入

Goodreads(图书): https://www.goodreads.com/review/import

Letterboxd(影视): https://letterboxd.com/import/


常见问题

403 错误?

Cookie 已过期。请重新登录豆瓣并更新 .env

程序中断了?

使用 --resume 参数从断点继续。

豆瓣要求输入验证码?

Cookie 可能已过期,需更换新的。短时间内分批爬取可减少触发。

About

豆瓣 → Goodreads / Letterboxd 数据迁移工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages