此腳本可協助您從 Projekt Gutenberg 網站抓取圖書 URL 列表,過濾掉不需要的 URL,並使用 epub2go 服務下載對應的 EPUB 檔案。
我的一個朋友抱怨古騰堡計畫將他們在商店中數位化的書籍的 ePub 檔案隱藏在付費專區後面。他希望獲得 ePub 格式的所有書籍,我決定實現這一目標,因為這些書籍已經可以輕鬆獲得 HTML 版本。經過一番研究,我偶然發現了 epub2go 服務,它可以更輕鬆地將書籍從 HTML 轉換為 ePub,而不需要本地依賴項和計算。
該腳本自動執行從 Projekt Gutenberg 下載書籍的過程,使用 epub2go 服務將其轉換為 ePub 格式,並將轉換後的檔案儲存到本機電腦*。
(*目前非常難看,因為它只是將它們全部轉儲到腳本的工作目錄中)
從 Projekt Gutenberg 中抓取書籍 URL
過濾掉不需要的 URL(不是書籍)
使用 epub2go 服務下載轉換後的 ePub 文件
新增請求之間的延遲以避免服務過載
請依照以下步驟設定並執行腳本:
下載與您安裝的 Chrome/Chromium 版本相符的適用於 Selenium 的最新 ChromeDriver。將二進位檔案放在所需位置並更新程式碼中的路徑。
下載並解壓縮最新的 Google Chrome 或 Chromium 瀏覽器,以無頭執行客戶端 JavaScript。
使用 pip 安裝所需的 Python 依賴項:
pip install -r 要求.txt
下載和轉換之間的可設定延遲
並行下載以提高下載速度(有合理的限制以確保我們不會使 epub2go 過載)
事先抓取完整的作者姓名和書名,然後建立基於books/author/book_title
的目錄結構,並將 ePub 檔案放在其中