Come scaricare tutti i libri inglesi da Gutenberg?


23

Devo scaricare tutti gli ebook Gutenberg, in formato testo normale (non html) e solo in lingua inglese.

Qualcuno ha suggerimenti su come scaricarli tutti dal server Gutenberg?

Ho bisogno di loro per fare una ricerca linguistica.

Risposte:


32

Secondo le informazioni sull'accesso dei robot alle nostre pagine :

L'accesso del robot al nostro sito dovrebbe essere lasciato come ultima risorsa, quando tutto il resto ha fallito. Inoltre, ricorda che il sito web di Project Gutenberg è protetto da copyright.

Tuttavia, c'è speranza :

Alternative migliori

  • Ottieni una versione offline del sito web di Project Gutenberg.
  • Ottieni tutti i file di ebook di Project Gutenberg.
  • Ottieni i dati del catalogo di Project Gutenberg.

E:

[...] Puoi ottenere tutti i nostri eBook in file compressi puntando il tuo robot su http://www.gutenberg.org/robot/harvest

[...] La decompressione dei file zip produrrà altri 70.000 file.

Questo è un esempio di come ottenere tutti i file usando wget:

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

[...] Se vuoi solo alcuni tipi di file, dì:

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

[...] Se vuoi solo file in una determinata lingua, dì:

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

Quindi, vorrei smettere:

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

C'è un modo per dire a wget di limitare il numero di file scaricati durante la scansione (ad esempio, i primi 100 file di testo che incontra)?
rohanbk,

Inoltre, quando abbiamo un numero di collegamenti in un file di testo (uri assoluto, dire " gutenberg.org/files/1.zip , gutenberg.org/files/2.zip ", quale parametro viene utilizzato per fornire un tale file di testo come una serie di link per il download di WGET?
EugeneP,

@rohanbk, puoi vedere cosa verrà scaricato sfogliando l'URL stesso, come gutenberg.org/robot/harvest?filetypes[[=txt&langs[[=en Questo mostra che è effettivamente impaginato, ma il numero di file per pagina non è costante . (Forse in base alle dimensioni?) Quindi, per NON ricorrere, secondo il manuale di wget , potresti provare --level=0. Ma immagino che ti permetta di interrompere e riavviare: prova --level 9999 --no-clobber, che salterà i file che hai già (supponendo che tu sia ancora nella stessa cartella sul disco).
Arjan,

1
@EugeneP, vedere --input-file nel manuale .
Arjan,

@Arjan C'è un modo per specificare l'offset all'inizio del download? Il mio download è stato interrotto per alcuni motivi e ora wget ha iniziato a controllare i file dalla prima pagina. Avevo usato l' -copzione, ma ancora. Ho fornito offset=xxxl'URL per il mirroring, ma viene comunque scaricato dalla prima pagina.
user13107

7

Puoi scaricare l' intera collezione di libri inglesi e di altre lingue Gutenberg in un unico file ZIM, che è altamente compresso e può quindi essere aperto con Kiwix sia su desktop che su Android. I libri inglesi sono 40 GB.


nessun client linux per kiwix
aquagremlin,

@aquagremlin Uh? kiwix.org/wiki/Software#GNU.2FLinux È persino impacchettato in alcune distro.
Nemo,

2
spiacente. nessun sonno e non ho visto gli "altri sistemi" sotto il pulsante grande.
aquagremlin,

è questo libro in formato txt?
AD

@AD Non sono sicuro di cosa intendi. È testo + immagini in HTML, impacchettato in ZIM anziché in EPUB o altro. Se vuoi, puoi ottenere un testo semplice, ma la mia risposta è principalmente per le persone che preferiscono i libri formattati, ecc.
Nemo,

6

Mentre la risposta selezionata è corretta, potenzialmente causerà due problemi:

  1. È possibile che venga visualizzato un errore 403 che nega l'accesso all'impaginazione nella presunzione che si sta scaricando come bot
  2. Esiste il potenziale che verrai inviato a un mirror esterno, il che significa che il wgetcomando non andrà a buon fine, i controlli ricorsivi sul download dei file da un mirror esterno.

La soluzione seguente risolve questi problemi:

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"

È possibile che si desideri modificare le stringhe referer e user-agent per fornire un po 'di casualità.


5

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso ha un paio di buone opzioni.

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso/pgdvd042010.iso è un file da 8 GB che dovrebbe essere sufficiente per le tue esigenze.

Ulteriori informazioni qui:

https://www.gutenberg.org/wiki/Gutenberg:The_CD_and_DVD_Project#Downloading_Via_FTP , offre tutte le opzioni per scaricare l'archivio, inclusi FTP e BitTorrent.


1
Consiglio di usare un torrent come opzione più etica (sulla stessa pagina di quel terzo link): gutenberg.org/wiki/… È più etico perché mette a dura prova i server di Project Gutenberg. Probabilmente è anche più veloce ed efficace. Inoltre, lo consigliano su ftp. Se usi Linux, Transmission è un buon client torrent per questo scopo. Questo ti darà solo libri che esistevano sul sito nel 2010, tuttavia, ma sembra l'opzione migliore quando la risposta di Shadowhorst non è funzionale.
Shule

3

Un'altra opzione è il grande strumento su http://pgiso.pglaf.org/ .

  1. Inserisci un intervallo ID (ad es. 1-10000)
  2. Seleziona i tipi di file desiderati
  3. Scegli le lingue che desideri includere
  4. Attendi la notifica
  5. Scaricare

2
Non lavorando per me, posso vedere solo il php grezzo
Ernest

-4

Perché non usare tutte le tue abilità e conoscenze di programmazione sopra complicate e mostrate sopra per creare un semplice pulsante che collega tutte quelle azioni e dice "Scarica tutti i libri attuali" -con una scheda di opzione della lingua quando fai clic su di esso.

Sono sicuro che la maggior parte degli utenti che accedono al sito sono collezionisti di e-book e il download manuale di alcuni libri su argomenti che li interessano è OK per 1 o 2 libri. Ma creare manualmente una collezione più grande è una seccatura. Tuttavia, se ne hanno bisogno per la ricerca o semplicemente desiderano possedere un'enorme biblioteca digitale di libri sul proprio PC. Molte persone sono spente e si allontanano dal sito quando si rendono conto che devono essere una procedura guidata per fare questo. Quindi un pulsante "Scarica tutti i libri correnti" andrebbe a beneficio del sito, del progetto e dei suoi utenti, e sicuramente produrrà ancora più visitatori del sito. In questo modo tutti sono felici.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.