这是一个脚本,可让您下载您在 Overcast 中收听过的每个播客的音频文件。
我听很多播客,并且使用 Overcast。有时我想听很久以前听过的播客,但链接失效、网站崩溃、剧集离线。这个脚本允许我下载我听过的每一集的音频文件,所以我有一个播客剧集的本地存档。
当您用黑胶唱片收听播客时,它们的声音会更丰富。图片来源:惠康收藏。抄送。
这是我想要了一段时间的东西(至少有两个我喜欢的播客已经从网络上完全消失了),但我从来不知道如何去做。在 ATP 第 353 集的一个片段中,Marco 提到了一个导出,其中包含您曾经听过的每一集的列表:
我可以告诉你 Overcast 在数据库表中保存了什么来保存你的剧集进度,这是迄今为止我最大的数据库表。它会保存您互动过的每一集的当前时间戳以及是否已完成。 […]
如果您转到网站的帐户部分,您可以导出 OPML(我实现的一种自定义扩展格式),这样您实际上就可以导出所有数据。 […]我可以告诉你你已经完成的剧集列表,或者在 Overcast 中以某种方式玩过的剧集。
我去挖掘,这正是我想要的——不久之后,我有了一个脚本,可以下载它引用的每个 MP3。
您需要:
带有电子邮件和密码的 Overcast 帐户。您可以在 Overcast iOS 应用程序中创建它。如果您以前没有这样做过,或者您忘记了您的电子邮件/密码,请阅读我的说明。
一个有效的 Python 3 安装。此脚本仅适用于 Python 3.6 或更高版本。
步骤:
获取您的 Overcast OPML 文件。
使用您的电子邮件地址和密码登录 Overcast 网站 https://overcast.fm/login。
登录后,导航至 https://overcast.fm/account。在“导出您的数据”下,点击“所有数据”。这将下载一个 OPML 文件,其中包含您曾经播放过的每个播客剧集的列表。
下载 Python 脚本。
下载脚本download_overcast_podcasts.py
,并将其保存在磁盘上的某个位置。
运行脚本,将 OPML 文件的路径作为第一个参数传递。例如,如果 OPML 文件位于~/Downloads/overcast.opml.xml
中,请运行:
$ python download_overcast_podcasts.py ~/Downloads/overcast.opml.xml
这将开始将音频文件下载到名为audiofiles
的文件夹中。如果您想将它们保存在不同的地方,请传递--download_dir
标志。例如,如果您想将文件保存到~/Documents/podcasts
,请运行:
$ python download_overcast_podcasts.py ~/Downloads/overcast.opml.xml --out_dir ~/Documents/podcasts
初始下载速度会非常慢,具体取决于您听过的播客数量,并且会占用大量磁盘空间。 (在撰写本文时,我的导出中有大约 1200 集,占用 61 GB。)在后续运行中,脚本应该只下载之前未保存的文件,因此它应该快得多。
麻省理工学院。