Skrip ini membantu Anda mengambil daftar URL buku dari situs web Projekt Gutenberg, memfilter URL yang tidak diinginkan, dan mengunduh file EPUB yang sesuai menggunakan layanan epub2go.
Seorang teman saya mengeluh tentang Projekt Gutenberg yang menyembunyikan file ePub dari buku yang mereka digitalkan di tokonya di balik paywall. Dia ingin semua buku dalam format ePub, dan saya memutuskan untuk mewujudkannya, karena buku-buku tersebut sudah tersedia dalam HTML. Setelah melakukan beberapa riset, saya menemukan layanan epub2go, yang mempermudah konversi buku dari HTML ke ePub tanpa memerlukan ketergantungan dan komputasi lokal.
Skrip ini mengotomatiskan proses pengunduhan buku dari Projekt Gutenberg, mengonversikannya ke format ePub menggunakan layanan epub2go, dan menyimpan file yang dikonversi ke mesin lokal Anda*.
(*Saat ini ini cukup jelek karena hanya membuang semuanya ke direktori kerja skrip)
Kikis URL buku dari Projekt Gutenberg
Filter URL yang tidak diinginkan (yang bukan buku)
Unduh file ePub yang dikonversi menggunakan layanan epub2go
Menambahkan penundaan antar permintaan untuk menghindari kelebihan layanan
Ikuti langkah-langkah berikut untuk menyiapkan dan menjalankan skrip:
Unduh ChromeDriver terbaru untuk Selenium yang cocok dengan versi Chrome/Chromium yang Anda instal. Tempatkan biner di lokasi yang Anda inginkan dan perbarui jalur dalam kode.
Unduh dan ekstrak browser Google Chrome atau Chromium terbaru untuk eksekusi JavaScript sisi klien tanpa kepala.
Instal dependensi Python yang diperlukan menggunakan pip:
instalasi pip -r persyaratan.txt
Penundaan yang dapat dikonfigurasi antara unduhan dan konversi
Paralelisasi pengunduhan untuk meningkatkan kecepatan pengunduhan (dengan batas wajar untuk memastikan kami tidak membebani epub2go secara berlebihan)
Gosok nama lengkap penulis dan judul buku terlebih dahulu, lalu buat struktur direktori berdasarkan books/author/book_title
, dan letakkan file ePub di sana