{"repo":"SanHsien/openshelf","free":true,"listed":false,"github":"https://github.com/SanHsien/openshelf","clone":"git clone https://github.com/SanHsien/openshelf.git","description":"Batch export Google Play Books: download DRM-free EPUB/PDF, keep official .acsm for protected books. 批次匯出 Google Play 圖書。","language":"Python","stars":12,"topics":["backup","drm-free","ebooks","epub","google-play-books","playwright","python"],"license":"Apache-2.0","category":"scrapers-browser-automation","readme_excerpt":"OpenShelf 把你在 Google Play 圖書中可合法匯出的電子書，批次整理到自己的電腦。 無 DRM 書下載 EPUB / PDF · DRM 書保存官方 .acsm 交給 Adobe Digital Editions · 無法匯出的只記錄 繁體中文 ｜ English 下載最新版 · 從原始碼執行 · 開發與測試 OpenShelf 是一個本機執行的 Google Play 圖書匯出工具。你只需在瀏覽器手動登入一次；之後程式會枚舉自己的書庫、判斷每本書可否匯出，並把結果整理成可續傳的 manifest。 它的重點不是「破解電子書」，而是把 Google 本來就提供給你的官方匯出結果，從逐本操作改成可重複、可檢查、可批次執行的流程。 你可以做什麼 書籍狀態 OpenShelf 的處理方式 --- --- Google 提供 EPUB / PDF 下載官方無 DRM 檔案 Google 只提供 ACSM 下載官方 .acsm ，原樣交給 Adobe Digital Editions Google 不提供任何匯出 記錄為 no export ，不嘗試繞過限制 下載或端點失敗 記錄為 failed ，之後可重試 其他重點： - 本機優先 ：沒有 OpenShelf 雲端帳號，也不代管你的書庫或檔案。 - 不碰帳密 ：登入在真實瀏覽器由你自己完成，程式只沿用登入態。 - HTTP-first ：登入後的枚舉與下載走後端請求，不依賴容易改版的頁面按鈕與 DOM。 - 可續跑 ： manifest.json 記錄狀態；中斷後重新執行不必全部重抓。 - GUI + CLI ：一般使用者可用桌面介面；進階使用者可用 openshelf 指令。 - 報表與交接 ：可產生 TXT / CSV / HTML 報表，並將 EPUB/PDF、ACSM 分別交給適合的閱讀工具。 下載與使用 Windows：直接下載正式版 前往 Latest Release。目前正式版提供 Windows 安裝程式與可攜包；每個主要發行檔都附 SHA-256 校驗檔。 第一次啟動後，照畫面完成： 1. 登入 ：開啟瀏覽器並登入自己的 Google 帳號。 2. 掃描 ：讀取 Google Play 圖書庫並建立清單。 3. 下載 ：下載可匯出的 EPUB/PDF 或官方 .acsm 。 4. 查看結果 ：搜尋、重試失敗項目，或匯出報表。 Windows 發行檔目前未做 Authenticode 程式碼簽章，SmartScreen 可能顯示未知發行者。請從本 repo 的 Release 下載並核對 SHA-256。 從原始碼執行 需求：Python 3.11+。 第一次使用： 若要桌面介面： 登入會優先使用本機 Chrome / Edge；只有需要 Playwright 內建 Chromium fallback 時才需另外安裝 Chromium。 工作流程 Google Play Books 沒有公開的「下載已購書」API。OpenShelf 將目前使用的書庫端點集中隔離在 openshelf/playbooks.py ；如果 Google 改版，主要需要維護的是這一層，而不是整個 GUI。 常用指令 指令 用途 --- --- openshelf login 手動登入並保存登入態 openshelf scan 枚舉書庫並更新 manifest openshelf export 下載可匯出的 EPUB/PDF 或 .acsm openshelf status 查看目前統計與狀態 ","default_branch":null,"files":null,"tree":[],"storefront":"/r/SanHsien","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/SanHsien/openshelf/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}