letterboxd-watchlist

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

🥥90总安装量 18评分人数 13
100% 的用户推荐

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

A

基本安全,请在特定环境下使用

  • 来自社区或个人来源,建议先隔离验证
  • ✅ 无危险函数调用(无 eval/exec/system/subprocess),纯 Python 标准库实现
  • ✅ 无外部依赖与动态代码加载,依赖攻击面为零
  • ✅ 完善的输入验证与边界控制(用户名正则校验、最大页数限制、超时重试机制)
  • ✅ 数据隐私合规,仅抓取公开数据,不收集敏感信息,不静默上传用户文件
  • ⚠️ 输出文件写入用户指定本地路径,需确保 `--out` 参数指向可信位置

使用说明

核心用法

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 内容

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