Ce script vous aide à extraire une liste d'URL de livres du site Web du Projekt Gutenberg, à filtrer les URL indésirables et à télécharger les fichiers EPUB correspondants à l'aide du service epub2go.
Un de mes amis s'est plaint du fait que le Projekt Gutenberg cachait les fichiers ePub des livres numérisés dans son magasin derrière un paywall. Il voulait que tous les livres soient au format ePub, et j'ai décidé d'y parvenir, car les livres sont déjà disponibles en HTML. Après quelques recherches, je suis tombé sur le service epub2go, qui facilitait la conversion de livres HTML en ePub sans avoir besoin de dépendances et de calculs locaux.
Ce script automatise le processus de téléchargement de livres depuis Projekt Gutenberg, les convertit au format ePub à l'aide du service epub2go et stocke les fichiers convertis sur votre ordinateur local*.
(*C'est actuellement assez moche car cela les dépose tous dans le répertoire de travail du script)
Récupérez les URL des livres du Projekt Gutenberg
Filtrez les URL indésirables (qui ne sont pas des livres)
Télécharge les fichiers ePub convertis à l'aide du service epub2go
Ajoute un délai entre les requêtes pour éviter de surcharger le service
Suivez ces étapes pour configurer et exécuter le script :
Téléchargez le dernier ChromeDriver pour Selenium qui correspond à votre version Chrome/Chromium installée. Placez le binaire à l'emplacement souhaité et mettez à jour le chemin dans le code.
Téléchargez et décompressez le dernier navigateur Google Chrome ou Chromium pour une exécution sans tête du JavaScript côté client.
Installez les dépendances Python requises à l'aide de pip :
pip install -r exigences.txt
Délai configurable entre les téléchargements et les conversions
Parallélisation des téléchargements pour augmenter la vitesse de téléchargement (avec une limite raisonnable pour garantir que nous ne surchargeons pas epub2go)
Grattez à l'avance les noms complets des auteurs et les titres des livres, puis créez une structure de répertoires basée sur books/author/book_title
et placez-y les fichiers ePub.