核心用法
Reddit Archive 是一款面向 Reddit 内容备份需求的 Python 命令行脚本,支持从指定用户 (u/username) 或子版块 (r/subname) 批量下载图片、GIF 及视频。用户通过参数组合可灵活控制抓取范围:按时间排序(hot/new/top/controversial)、设定日期区间、限制下载数量,并可指定并行下载线程数。
显著优点
- 功能聚焦:专为 Reddit 多媒体归档设计,覆盖图片、GIF、视频全类型,支持画廊多图提取
- 参数丰富:提供 sort/time/after/before/limit 等多维筛选,满足精准抓取需求
- 技术实现成熟:调用 Reddit JSON API(非官方 API),结合 yt-dlp 处理视频流,media_metadata 解析画廊结构
- 防封策略:内置 0.8 秒请求间隔与 User-Agent 伪装,降低 403 风险
潜在缺点与局限性
- 官方 API 缺失:依赖 Reddit 公开 JSON 端点,无 OAuth 认证,存在接口变更导致失效的风险
- 速率限制敏感:明确禁止并行多实例运行,大规模抓取效率受限
- 版权与合规风险:批量下载他人原创内容可能违反 Reddit ToS 及当地著作权法
- 无增量同步:仅支持
--skip-existing跳过已下载文件,无真正的差异同步机制 - 元数据保存有限:输出文件名仅含 target_post_id,原始标题、URL、作者等信息需额外处理才能保留
适合人群
- 需要备份个人 Reddit 历史内容的普通用户
- 研究人员、数据归档爱好者(需自行评估法律合规性)
- 内容策展者,希望离线保存特定主题的多媒体素材
常规风险
| 风险类型 | 说明 |
|---------|------|
| 账号封禁 | 高频或大量请求可能触发 Reddit 反爬虫机制 |
| 法律风险 | 未经授权下载、再分发受版权保护的内容 |
| 隐私泄露 | 抓取用户历史可能涉及他人隐私数据 |
| 依赖失效 | yt-dlp 或 Reddit 接口变更导致功能中断 |
> 建议:个人小规模使用优先;商业或大规模部署前需法律审查,并考虑 Reddit 官方 API 替代方案。