Letterboxd Watchlist

🎬 一键导出影迷观影清单

无需登录即可抓取公开 Letterboxd 观影清单,导出为 CSV/JSONL 格式,方便备份、迁移或构建待看队列。

收藏
7.1k
安装
1.8k
版本
0.1.2
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Letterboxd Watchlist Scraper 是一款轻量级命令行工具,专用于抓取公开 Letterboxd 用户的观影清单(watchlist)。用户只需提供目标用户名,即可将清单中的电影标题和链接导出为 CSV 或 JSONL 格式,无需任何登录凭证。

使用方式

基础用法:

uv run scripts/scrape_watchlist.py <username> --out watchlist.csv

推荐稳健模式:

uv run scripts/scrape_watchlist.py <username> --out watchlist.jsonl --delay-ms 300 --timeout 30 --retries 2

输出格式支持 CSV(title,link)和 JSONL(每行一个对象),便于后续数据处理和集成。

技术实现

脚本通过分页爬取 /watchlist/page/<n>/ 页面,检测 data-target-link="/film/..." 属性定位电影条目,当遇到无电影条目的页面时自动停止。内置用户名格式验证([A-Za-z0-9_-]+)、默认 250ms 礼貌延迟、超时和重试机制,兼顾稳定性与对目标站点的友好性。

显著优点

  • 零门槛使用:无需 Letterboxd 账号或 API 密钥,完全公开数据抓取
  • 格式灵活:支持 CSV 和 JSONL 两种输出,适配不同工作流
  • 稳健设计:内置重试、超时、礼貌延迟,降低请求失败率
  • 轻量可扩展:Python 脚本易于自定义,如调整正则表达式适配页面变更

潜在缺点与局限性

  • 数据完整性依赖页面结构:若 Letterboxd 更新 HTML 标记,需手动调整正则表达式
  • 仅限公开清单:无法抓取私密 watchlist 或需要登录的内容
  • 无元数据 enrichment:仅提取标题和链接,不含评分、年份、类型等详细信息
  • 速率受限:内置延迟虽礼貌但限制大规模抓取效率

适合人群

  • 需要备份或迁移 Letterboxd 观影清单的影迷
  • 希望基于待看清单构建个性化推荐系统的开发者
  • 数据分析师或研究者进行电影偏好相关研究
  • 任何需要结构化电影清单数据的无代码/低代码用户

常规风险

  • 服务条款合规:需确认抓取行为符合 Letterboxd Terms of Service
  • IP 限制风险:虽设礼貌延迟,高频或批量抓取仍可能触发 rate limiting
  • 数据隐私:仅抓取公开数据,但需尊重用户隐私设置,勿滥用他人清单数据
  • 维护依赖:作为 best-effort 爬虫,长期可用性取决于目标站点稳定性

---

> 安全说明:此技能为系统占位简介,未执行深度安全扫描,建议实际部署前进行代码审计和合规性检查。

Letterboxd Watchlist 内容

scripts文件夹
手动下载zip · 3.8 kB
scrape_watchlist.pytext/plain
请选择文件