Comment télécharger tous les livres en anglais de Gutenberg?

23

Je dois télécharger tous les ebooks de Gutenberg, au format texte brut (pas html) et uniquement en langue anglaise.

Quelqu'un a des suggestions sur la façon de les télécharger toutes à partir du serveur Gutenberg?

J'ai besoin d'eux pour faire une recherche linguistique.

EugeneP
la source

Réponses:

32

Selon les informations sur l'accès des robots à nos pages :

L'accès des robots à notre site doit être laissé comme dernière ressource, lorsque tout le reste a échoué. N'oubliez pas non plus que le site Web du projet Gutenberg est protégé par des droits d'auteur.

Cependant, il y a de l'espoir :

Meilleures alternatives

  • Obtenez une version hors ligne du site Web du projet Gutenberg.
  • Obtenez tous les fichiers ebook de Project Gutenberg.
  • Obtenez les données du catalogue Project Gutenberg.

Et:

[...] Vous pouvez obtenir tous nos livres électroniques dans des fichiers compressés en pointant votre robot sur http://www.gutenberg.org/robot/harvest

[...] Le déballage des fichiers zip produira encore 70 000 fichiers.

Voici un exemple de la façon d'obtenir tous les fichiers en utilisant wget:

wget -w 2 -m http://www.gutenberg.org/robot/harvest

[...] Si vous ne voulez que certains types de fichiers, dites:

wget -w 2 -m http://www.gutenberg.org/robot/harvest?filetypes[]=txt

[...] Si vous ne voulez que des fichiers dans une langue donnée, dites:

wget -w 2 -m http://www.gutenberg.org/robot/harvest?langs[]=de

Donc, je cesserais:

wget -w 2 -m http://www.gutenberg.org/robot/harvest?filetypes[]=txt&langs[]=en
Arjan
la source
Existe-t-il un moyen de dire à wget de limiter le nombre de fichiers qu'il télécharge lors de l'exploration (par exemple, les 100 premiers fichiers texte qu'il rencontre)?
rohanbk
De plus, lorsque nous avons un certain nombre de liens dans un fichier texte (uri absolu, disons " gutenberg.org/files/1.zip , gutenberg.org/files/2.zip ", quel paramètre est utilisé pour fournir un tel fichier texte comme un certain nombre de liens de téléchargement vers WGET?
EugeneP
@rohanbk, vous pouvez voir ce qui sera téléchargé en naviguant sur l'URL elle - même, comme gutenberg.org/robot/harvest?filetypes[]=txt&langs[]=en Cela montre qu'il est en fait paginé, mais le nombre de fichiers par page n'est pas constante . (Peut-être en fonction de la taille?) Donc, pour ne pas reconsidérer, selon le manuel de wget , vous pourriez essayer --level=0. Mais je suppose que vous feriez mieux de permettre d'interrompre et de redémarrer: essayez --level 9999 --no-clobber, qui ignorera les fichiers que vous avez déjà (en supposant que vous êtes toujours dans le même dossier sur le disque).
Arjan
1
@EugeneP, voir --input-file dans le manuel .
Arjan
@Arjan Existe-t-il un moyen de spécifier l'offset au début du téléchargement? Mon téléchargement a été interrompu pour certaines raisons et maintenant, wget a commencé à vérifier les fichiers depuis la première page. J'avais utilisé l' -coption, mais quand même. J'ai donné offset=xxxl'URL à refléter, mais elle est toujours téléchargée à partir de la première page.
user13107
7

Vous pouvez télécharger l' intégralité de la collection Gutenberg de livres en anglais et d'autres langues dans un seul fichier ZIM, qui est hautement compressé et peut ensuite être ouvert avec Kiwix à la fois sur le bureau et Android. Les livres en anglais font 40 Go.

Nemo
la source
pas de client linux pour kiwix
aquagremlin
@aquagremlin Uh? kiwix.org/wiki/Software#GNU.2FLinux Il est même emballé dans certaines distributions.
Nemo
2
Désolé. pas de sommeil et n'a pas vu les «autres systèmes» sous le gros bouton.
aquagremlin
est ce livre au format txt?
AD
@AD Je ne sais pas ce que tu veux dire. C'est du texte + des images en HTML, empaqueté en ZIM plutôt qu'en EPUB ou autre. Vous pouvez obtenir du texte brut si vous le souhaitez, mais ma réponse s'adresse principalement aux personnes qui préfèrent les livres formatés, etc.
Nemo
6

Bien que la réponse sélectionnée soit correcte, elle entraînera potentiellement deux problèmes:

  1. Vous pouvez recevoir une erreur 403 refusant l'accès à la pagination sous la présomption que vous téléchargez en tant que bot
  2. Il est possible que vous soyez envoyé vers un miroir externe, ce qui signifie que la wgetcommande échouera, c'est des contrôles récursifs lors du téléchargement des fichiers à partir d'un miroir externe.

La solution ci-dessous résout ces problèmes:

wget -H -w 2 -m http://www.gutenberg.org/robot/harvest?filetypes[]=txt&langs[]=en \
--referer="http://www.google.com" \
--user-agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" \
--header="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" \
--header="Accept-Language: en-us,en;q=0.5" \
--header="Accept-Encoding: gzip,deflate" \
--header="Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" \
--header="Keep-Alive: 300"

Vous souhaiterez peut-être modifier le référent et les chaînes d'agent utilisateur pour fournir un peu d'aléatoire.

Corey Ballou
la source
5

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso a quelques bonnes options.

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso/pgdvd042010.iso est un fichier de 8 Go qui devrait être suffisant pour vos besoins.

Il y a plus d'informations ici:

https://www.gutenberg.org/wiki/Gutenberg:The_CD_and_DVD_Project#Downloading_Via_FTP , il donne toutes les options de téléchargement de l'archive, y compris FTP et BitTorrent.

David Airapetyan
la source
1
Je recommande d'utiliser un torrent comme option plus éthique (sur la même page que ce troisième lien): gutenberg.org/wiki/… C'est plus éthique car cela met moins de pression sur les serveurs du projet Gutenberg. C'est probablement aussi plus rapide et plus efficace. De plus, ils le recommandent sur ftp. Si vous utilisez Linux, Transmission est un bon client torrent à cet effet. Cela ne vous donnera cependant que des livres qui existaient sur le site en 2010, mais cela semble la meilleure option lorsque la réponse de shadowhorst n'est pas fonctionnelle.
Shule
3

Une autre option est le grand outil sur http://pgiso.pglaf.org/ .

  1. Entrez une plage d'id (par exemple 1-10000)
  2. Sélectionnez les types de fichiers souhaités
  3. Choisissez les langues que vous souhaitez inclure
  4. Attendez la notification
  5. Télécharger
shadowhorst
la source
2
Ne fonctionne pas pour moi, je ne peux voir que le php brut
Ernest
-4

Pourquoi ne pas utiliser toutes vos compétences et connaissances de programmation trop compliquées et illustrées ci-dessus pour créer un simple bouton qui relie toutes ces actions et dit "Télécharger tous les livres actuels" - avec un onglet d'option de langue lorsque vous cliquez dessus.

Je suis sûr que la plupart des utilisateurs qui viennent sur le site sont des collectionneurs de livres électroniques, et le téléchargement manuel de certains livres sur des sujets qui les intéressent est OK pour 1 ou 2 livres. Mais faire une plus grande collection manuellement est un frein. Néanmoins, s'ils en ont besoin pour la recherche ou s'ils souhaitent simplement posséder une énorme bibliothèque numérique de livres sur leur propre PC. La plupart des gens sont désactivés et se dispersent loin du site lorsqu'ils se rendent compte qu'ils doivent être un assistant informatique pour ce faire. encore plus de visiteurs sur le site. Ainsi, tout le monde est content.

Ivan Stojanovski
la source