ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

批量下载 Reddit 内容,这个 Python 工具能省不少事

批量下载 Reddit 内容,这个 Python 工具能省不少事 文章目录批量下载 Reddit 内容这个 Python 工具能省不少事三种模式各管各的数据来源很灵活安装和使用需要注意的地方支持的来源列表适合谁用批量下载 Reddit 内容这个 Python 工具能省不少事刷 Reddit 的时候经常看到好图、好帖想存下来。手动一张张右键保存太慢了而且容易漏。Bulk Downloader for Reddit简称 BDFR就是干这个的一条命令批量把 Reddit 内容下载到本地。这个项目目前 Star 数 2585用 Python 写的支持的来源比较全。直链图片、Imgur、YouTube、Reddit 原生图片和视频、Redgifs 这些都能处理。基本上 Reddit 上能看到的内容类型它都能下载。三种模式各管各的BDFR 有三个主命令download、archive、clone。download负责下载实际文件图片存图片视频存视频。archive负责保存帖子本身的数据包括标题、正文、点赞数、评论内容可以输出成 JSON、XML 或 YAML 格式。clone则是两个功能一起跑效率比分开执行高。举个例子你想把某个 subreddit 的最近 50 张图存下来一条命令就搞定bdfr download ./output --subreddit EarthPorn -L 50如果还想把帖子详情和评论也存下来做分析用 archive 命令bdfr archive ./output --subreddit Python --all-comments -L 100数据来源很灵活BDFR 支持从多种来源获取内容subreddit、multireddit、用户发帖列表、用户收藏夹甚至单个帖子链接都可以。这些来源可以叠加使用比如同时从三个 subreddit 和两个用户那里下载。排序和筛选也支持。可以按 hot、new、top、rising 排序按时间范围过滤加搜索关键词。想下载某个 subreddit 里点赞最高的帖子-S top -t month就行。安装和使用需要 Python 3.9 以上版本。安装方式两种pip 直装python3 -m pip install bdfr或者用 pipxpython3 -m pipx install bdfr装完之后在命令行里用bdfr加上对应的子命令和参数就行。项目文档里给了不少示例命令照着改参数就能用。有一点比较贴心BDFR 支持自定义文件名和文件夹的命名规则。可以用帖子的各种属性来拼文件名比如{SUBREDDIT}_{POSTID}或者{UPVOTES}_{REDDITOR}_{DATE}。这样下载下来的内容按什么方式组织完全由你定。需要注意的地方有些功能需要 Reddit 账号认证比如下载自己的收藏夹或点赞列表。BDFR 用的是 OAuth2 流程第一次运行时会弹出 Reddit 授权页面确认权限后就会保存 token后续不用重复操作。默认申请的权限范围很小只读取收藏和点赞不需要写入权限。配置文件的位置跟操作系统有关。Windows 在 AppData 目录下macOS 在 ~/Library/Application SupportLinux 在 ~/.config。高级用户可以改配置文件里的 client_id 和 client_secret用自己的 API key。一般用户不需要动这些。还有一个细节BDFR 内置了速率限制处理。遇到 Reddit 限流时它会自动等待并重试等待时间逐步递增。默认最大等待 120 秒可以通过参数调整。支持的来源列表直链、Imgur、YouTube含 YT-DLP 支持的所有站点、Reddit 图片和视频、Reddit 文字帖、Reddit 图集、Erome、Gfycat、Redgifs、Vidble基本覆盖了 Reddit 上常见的内容平台。适合谁用经常在 Reddit 上存内容的人手动操作太繁琐这个工具能把整个流程自动化。做数据研究的人也能用archive 模式输出的 JSON 格式可以直接拿来做分析。不过这毕竟是命令行工具完全不懂编程的人可能需要折腾一下。但如果你会用终端哪怕只是基础水平看看文档就能上手。项目维护得不错文档写得也详细遇到问题有据可查。的人可能需要折腾一下。但如果你会用终端哪怕只是基础水平看看文档就能上手。项目维护得不错文档写得也详细遇到问题有据可查。
返回列表