letterboxd-watchlist

🎬 零依赖影迷片单导出工具

基于 Python 标准库的 Letterboxd 公开观影清单爬虫,无需登录即可导出 CSV/JSONL 格式片单,适合影迷数据备份与跨平台迁移。

收藏
18.7k
安装
3.7k
版本
v0.1.2
CLS 安全性认证2026-05-17
点击查看完整报告 >

使用说明

核心用法

Letterboxd Watchlist Scraper 是一款轻量级数据抓取工具,专用于导出 Letterboxd 平台用户的公开观影清单。用户只需提供目标用户名,即可通过命令行调用 scrape_watchlist.py 脚本,将分页抓取的电影数据输出为 CSV 或 JSONL 格式。推荐启用稳健模式(--delay-ms 300 --timeout 30 --retries 2)以降低网络波动导致的失败率。脚本内置分页遍历逻辑,自动检测终止条件(无电影海报条目页面),并默认设置 250ms 爬取延迟以遵守网站礼仪。

显著优点

该技能的最大优势在于零依赖设计——仅使用 Python 标准库(urllib、re、csv、json 等),彻底规避第三方包的安全风险与版本冲突问题。功能边界清晰明确,严格限定为"公开数据抓取+本地文件输出",不涉及任何敏感权限申请或隐蔽操作。输入验证机制完善,通过正则表达式 ^[A-Za-z0-9_-]+$ 过滤非法用户名,配合 HTTP 404 处理、超时控制与重试机制,显著提升了脚本的容错能力。输出格式灵活,CSV 适合表格处理,JSONL 便于流式解析与后续编程处理。

潜在缺点与局限性

作为 HTML 爬虫,该工具存在结构性脆弱性:依赖正则表达式匹配页面标记,一旦 Letterboxd 改版调整 DOM 结构,脚本即可能失效。此外,正则解析 HTML 本身在边界情况处理上不如 BeautifulSoup 等专用库健壮,极端情况下可能出现数据截断或误匹配。功能层面,该技能仅支持公开清单,无法抓取私密或受保护内容;且未提供增量更新机制,每次运行均为全量抓取。性能方面,串行分页请求在清单极长时(如数千部影片)耗时较长,虽可通过延迟参数调节,但缺乏并发优化选项。

适合的目标群体

该技能主要面向三类用户:一是影迷与收藏者,希望备份个人 Letterboxd 数据或迁移至其他平台;二是数据爱好者与研究者,需要结构化的电影元数据进行统计分析;三是开发者与自动化工程师,可将此脚本集成至更大的媒体管理工作流中。由于无需编程基础即可通过命令行使用,普通用户也能快速上手,但具备 Python 环境的用户将获得最佳体验。

使用风险

常规风险主要包括:网络层面,频繁或大规模抓取可能触发 Letterboxd 的反爬机制,导致 IP 临时封禁,建议严格遵守默认延迟设置;数据层面,输出文件直接写入用户指定路径,需确保路径合法且有写入权限,避免覆盖重要文件;维护层面,由于采用正则解析,Letterboxd 前端改版后需手动更新脚本中的匹配模式,存在一定维护成本;合规层面,虽仅抓取公开数据,但批量抓取多用户数据可能违反平台服务条款,建议仅限个人使用场景。

安全解读

核心用法

Letterboxd Watchlist Scraper 是一款专注于从公开 Letterboxd 用户 watchlist 提取电影信息的轻量级工具。用户只需提供目标用户名,即可通过命令行快速导出完整片单。

基本调用

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(每行一个包含 titlelink 的 JSON 对象)。工具通过遍历 /watchlist/page/<n>/ 分页实现全量抓取,遇到首个无电影海报的页面即自动终止。

显著优点

1. 零门槛使用:无需 Letterboxd 账号或 API Key,直接抓取公开页面
2. 纯标准库实现:仅依赖 Python 内置 urllib,无第三方依赖风险

3. 防封设计:默认 250ms/页延迟,支持自定义延迟、超时与重试

4. 输入安全:用户名经正则 [A-Za-z0-9_-]+ 严格验证,防止注入

5. 轻量高效:203 行代码,单文件脚本,易于审计与定制

潜在缺点与局限性

  • 依赖页面结构:基于正则匹配 HTML,若 Letterboxd 改版需手动更新 POSTER_RE
  • 仅支持公开列表:私有 watchlist 或需要登录的内容无法访问
  • 无官方 API:相比官方接口,HTML 抓取稳定性与长期可用性存疑
  • T3 来源风险:GitHub 仓库信誉验证失败,作者背景需人工复核
  • 功能单一:不处理本地媒体库、不导入其他平台、不做数据分析

适合人群

  • 需要备份个人 Letterboxd watchlist 的影迷
  • 想批量获取他人公开片单用于数据分析或「待看队列」构建的用户
  • 熟悉命令行、能处理 CSV/JSONL 数据的技术型影迷

常规风险

  • 服务可用性:Letterboxd 反爬策略变化可能导致功能失效
  • 来源可信度:建议先访问 https://github.com/openclaw/skills 验证仓库活跃度
  • 版权边界:抓取他人公开数据一般合规,但大规模商用需注意平台 ToS

letterboxd-watchlist 内容

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