這是一個腳本,可讓您下載您在 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。)在後續運行中,腳本應該只下載之前未保存的文件,因此它應該快得多。
麻省理工學院。