把自己的豆瓣观影记录,清楚、完整地保存到本地,并轻松迁移至 Letterboxd。
从 Chrome Web Store 安装 · 下载最��版 · 迁移到 Letterboxd
纳豆是一款专注于豆瓣电影数据导出与 Letterboxd 迁移的 Chrome / Edge 扩展。它读取当前登录账号的“看过、想看、在看”记录,可生成通用 CSV、结构化 JSON,以及分别面向 Letterboxd 账户、Watchlist 和普通列表的导入文件。
没有账号服务器、在线影视库、统计服务或第三方影片数据库。数据整理全部在浏览器本机完成。
- 导出“看过 / 想看 / 在看”记录
- 支持 CSV 与 JSON
- 按目标生成 Letterboxd 账户、Watchlist 和普通列表导入文件
- 支持全部、指定年月和自定义日期区间
- 正确拆分中文片名与原名 / 别名
- 导出评分、标记日期、标签、短评、豆瓣链接、封面链接和影片信息
- 支持暂停、继续和失败重试
- 支持一键停止任务并恢复初始状态
- 提供只读的网页兼容性检查
- 对网络超时、安全验证、空结果和存储异常给出明确提示
- 全程在浏览器本机处理,导出文件直接进入下载目录
访问纳豆的 Chrome Web Store 页面,点击“添加至 Chrome”。商店版本可由浏览器自动更新,也是普通用户最省心的安装方式。
Chromium 内核的 Edge、Brave 等浏览器通常也可以从 Chrome Web Store 安装;具体取决于浏览器自身的扩展商店策略。
- 打开项目的 Releases。
- 下载最新 ZIP 并解压到一个固定目录。
- Chrome 打开
chrome://extensions/;Edge 打开edge://extensions/。 - 开启“开发者模式”。
- 点击“加载已解压的扩展程序”,选择包含
manifest.json的目录。
手动安装版本不会自动跟随 Chrome Web Store 更新。加载后不要移动或删除该目录,否则浏览器将无法继续加载扩展。
- 在浏览器登录自己的豆瓣账号。
- 打开任意
https://movie.douban.com/页面并刷新一次。 - 点击浏览器工具栏中的“纳豆”。
- 直接点击“导出全部观影记录”;如需筛选,展开“导出设置”。
- 等待任务完成,CSV 或 JSON 文件会保存到浏览器下载目录。
日期筛选依据的是豆瓣“标记日期”,不是影片上映日期。所选区间没有记录时,扩展会明确提示,不会生成空文件。
任务运行在当前豆瓣标签页中。关闭扩展弹窗不会中断任务;关闭或刷新承载任务的豆瓣标签页会停止当前运行,但已经保存的进度可以继续。
- CSV:适合 Excel、Numbers、WPS、数据库或数据分析工具;以
= + - @开头的文本会经过公式前缀防护。 - JSON:适合备份、二次开发或导入其他程序,包含筛选条件和完整记录数组。
- Letterboxd:按豆瓣状态生成面向不同导入目标的 UTF-8 CSV。
纳豆不会直接登录或写入 Letterboxd,而是生成符合其官方导入规则的 CSV,再由你在 Letterboxd 确认页面检查并提交。三类豆瓣状态会自动分流:
- 在“文件格式”中选择 Letterboxd,并勾选需要迁移的豆瓣状态;
- 扩展会按目标分别生成文件;
- 完成后使用扩展显示的对应入口上传各个 CSV;
- 在 Letterboxd 确认页面逐项检查匹配结果,再确认导入。
| 豆瓣状态 | 文件名标识 | Letterboxd 目标 | 保留内容 |
|---|---|---|---|
| 看过 | letterboxd-watched |
账户导入 | 片名、年份、评分、观看日期、标签、短评 |
| 想看 | letterboxd-watchlist |
Watchlist | 片名、年份 |
| 在看 | letterboxd-list |
新建或现有列表 | 片名、年份;短评、标签和日期写入 Notes |
三种入口使用同一套通用 CSV 识别规则,但导入行为不同。请将文件上传到对应入口,例如把“想看”文件导入账户会将影片标记为“看过”。详见 Letterboxd 官方导入文档。
豆瓣未提供 Letterboxd、TMDB 或 IMDb ID,因此 Letterboxd 会依据片名和年份匹配;电视剧、同名影片或不同地区译名可能匹配错误,务必检查确认页。文件接近官方 1MB 限制时会自动拆分,每一部分都会保留表头。
- 暂停后,已经读取的记录和分页位置会保存在扩展本地;
- 使用相同账号、状态、日期范围和格式时,可以继续兼容的任务;
- 网络超时、限流或安全验证不会丢弃已经保存的进度;
- 底部“恢复初始状态”会停止任务,并清除缓存、进度和首次使用记录。
恢复初始状态不会删除已经下载的文件,也不会修改豆瓣或 Letterboxd 账户。
导出文件包含状态、豆瓣条目 ID、片名、原名 / 别名、豆瓣链接、封面链接、影片信息、个人评分、星级、标记日期、标签和短评。不同状态没有提供的字段会保持为空。
确认当前标签页位于 movie.douban.com,已经登录账号,然后刷新页面并重新打开扩展。
请先在豆瓣页面完成人机验证,再降低“请求速度”后继���导出。不要同时开启多个导出任务。
单次页面请求超过 30 秒会自动停止并保留进度。网络恢复后点击“重试并继续”。
不会。任务运行在当前豆瓣页面中;重新打开弹窗可以查看进度。关闭或刷新豆瓣标签页会暂停任务,之后可以继续。
文件由浏览器下载,默认位于系统“下载”目录;实际位置取决于浏览器下载设置。
Letterboxd 导出包含多个目标或拆分文件时,浏览器可能请求允许多个下载;允许后才能保存全部文件。
storage:临时保存导出进度,以支持暂停和继续。unlimitedStorage:避免大量观影记录超过扩展默认本地存储额度。tabs:识别当前豆瓣电影标签页并与页面中的导出程序通信。movie.douban.com:仅在豆瓣电影页面读取用户主动要求导出的观影记录。
扩展不读取豆瓣密码,不上传 Cookie,不连接开发者服务器,也不访问 TMDB 等第三方影片服务。详见 隐私政策 与 安全说明。
本项目不需要构建步骤。修改源码后,在扩展管理页点击“重新加载”即可。
node --check popup.js
node --check content.js
node --check parser-utils.js
node tests/title-parser.test.js- 功能建议或一般问题:提交 Issue
- 隐私或安全问题:请先阅读安全说明,不要在公开 Issue 中附上 Cookie、真实观影记录或未脱敏截图
- 参与开发:请阅读贡献指南,并确保扩展仍保持“本地处理、单一导出用途”的产品边界
v0.11.1:更新项目品牌首屏、Chrome Web Store 官方安装入口与 Letterboxd 迁移说明,并统一仓库与扩展定位。
见 LICENSE。
本项目是独立开发的非官方工具,与豆瓣、Letterboxd、Google、Microsoft 或 OpenAI 不存在隶属、授权、赞助或背书关系。相关名称、商标和服务归各自权利人所有。
本工具仅用于导出和迁移使用者本人有权访问的观影记录。使用者应自行遵守豆瓣、Letterboxd、浏览器扩展商店及所在地区适用的服务条款和法律法规,并对导出文件的保存、核对和后续使用负责。
网页结构、平台规则和第三方导入行为可能随时变化。尤其是 Letterboxd 依赖片名与年份进行模糊匹配,可能出现同名影片、电视剧或地区译名误匹配。请始终在确认页面核对结果。项目作者及贡献者不对数据遗漏、错误匹配、服务限制或由使用本工具造成的间接损失承担责任。
本项目在设计、编码、代码审查、测试和文档整理过程中使用了 OpenAI Codex 作为开发辅助工具。所有功能取舍、代码合并、版本发布与项目维护均由项目维护者负责;使用 Codex 不代表 OpenAI 对本项目提供认证、担保或官方支持。