¿Cómo descargar todos los libros de inglés de Gutenberg?

23

Necesito descargar todos los libros electrónicos de Gutenberg, en formato de texto sin formato (no html) y solo en inglés.

¿Alguien tiene sugerencias sobre cómo descargarlas todas desde el servidor Gutenberg?

Los necesito para hacer una investigación lingüística.

EugeneP
fuente

Respuestas:

32

Según la información sobre el acceso del robot a nuestras páginas :

El acceso del robot a nuestro sitio debe dejarse como último recurso, cuando todo lo demás ha fallado. Además, recuerde que el sitio web del Proyecto Gutenberg tiene derechos de autor.

Sin embargo, hay esperanza :

Mejores alternativas

  • Obtenga una versión sin conexión del sitio web del Proyecto Gutenberg.
  • Obtenga todos los archivos de libros electrónicos del Proyecto Gutenberg.
  • Obtenga los datos del catálogo del Proyecto Gutenberg.

Y:

[...] Puede obtener todos nuestros eBooks en archivos comprimidos señalando su robot en http://www.gutenberg.org/robot/harvest

[...] Desempaquetar los archivos zip producirá otros 70,000 archivos.

Este es un ejemplo de cómo obtener todos los archivos usando wget:

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

[...] Si solo quieres algunos tipos de archivos, di:

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

[...] Si solo desea archivos en un idioma determinado, diga:

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

Entonces, yo pregunto:

wget -w 2 -m http://www.gutenberg.org/robot/harvest?filetypes[]=txt&langs[]=en
Arjan
fuente
¿Hay alguna manera de decirle a wget que limite la cantidad de archivos que descarga mientras rastrea (por ejemplo, los primeros 100 archivos de texto que encuentra)?
rohanbk
Además, cuando tenemos varios enlaces en un archivo de texto (uri absoluta, diga " gutenberg.org/files/1.zip , gutenberg.org/files/2.zip ", qué parámetro se usa para proporcionar dicho archivo de texto como una serie de enlaces de descarga a WGET?
EugeneP
@rohanbk, puede ver lo que se descargará navegando en la propia URL, como gutenberg.org/robot/harvest?filetypes[[=txt&langs[[=en Esto muestra que en realidad está paginado, pero el número de archivos por página no es constante . (¿Quizás basado en el tamaño?) Entonces, para NO repetir, de acuerdo con el manual de wget , puede intentarlo --level=0. Pero supongo que es mejor que permita abortar y reiniciar: intente --level 9999 --no-clobber, lo que omitirá los archivos que ya tiene (suponiendo que todavía esté en la misma carpeta en el disco).
Arjan
1
@ EugeneP, ver --input-file en el manual .
Arjan
@Arjan ¿Hay alguna forma de especificar el desplazamiento al inicio de la descarga? Mi descarga se interrumpió debido a algunas razones y ahora wget ha comenzado a verificar archivos desde la primera página. Había usado la -copción, pero aún así. Di offset=xxxla URL para que se refleje pero aún se está descargando desde la primera página.
user13107
7

Puede descargar la colección completa de libros en inglés y otros idiomas de Gutenberg en un solo archivo ZIM, que está muy comprimido y luego se puede abrir con Kiwix tanto en el escritorio como en Android. Los libros en inglés son de 40 GB.

Nemo
fuente
no hay cliente de Linux para kiwix
aquagremlin
@aquagremlin Uh? kiwix.org/wiki/Software#GNU.2FLinux Incluso está empaquetado en algunas distribuciones.
Nemo
2
lo siento. sin dormir y no vi los 'otros sistemas' debajo del botón grande.
aquagremlin
es este libro en formato txt?
AD
@AD No estoy seguro de lo que quieres decir. Es texto + imágenes en HTML, empaquetado en ZIM en lugar de EPUB u otro. Puede obtener texto sin formato si lo desea, pero mi respuesta es principalmente para las personas que prefieren libros formateados, etc.
Nemo
6

Si bien la respuesta seleccionada es correcta, potencialmente causará dos problemas:

  1. Es posible que reciba un error 403 al negar el acceso a la paginación bajo la presunción de que está descargando como bot
  2. Existe la posibilidad de que lo envíen a un espejo externo, lo que significa que el wgetcomando fallará, es verificaciones recursivas al descargar los archivos desde un espejo externo.

La siguiente solución corrige estos problemas:

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"

Es posible que desee cambiar las cadenas de referencia y de agente de usuario para proporcionar un poco de aleatoriedad.

Corey Ballou
fuente
5

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso tiene un par de buenas opciones.

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso/pgdvd042010.iso es un archivo de 8GB que debería ser suficiente para sus necesidades.

Hay más información aquí:

https://www.gutenberg.org/wiki/Gutenberg:The_CD_and_DVD_Project#Downloading_Via_FTP , ofrece todas las opciones para descargar el archivo, incluidos FTP y BitTorrent.

David Airapetyan
fuente
1
Recomiendo usar un torrent como una opción más ética (en la misma página que ese tercer enlace): gutenberg.org/wiki/... Es más ético porque ejerce menos presión sobre los servidores del Proyecto Gutenberg. Probablemente también sea más rápido y más efectivo. Además, lo recomiendan sobre ftp. Si usa Linux, Transmission es un buen cliente de torrent para este propósito. Sin embargo, esto solo le dará libros que existieron en el sitio en 2010, pero parece la mejor opción cuando la respuesta de shadowhorst no es funcional.
Shule
3

Otra opción es la gran herramienta en http://pgiso.pglaf.org/ .

  1. Ingrese un rango de identificación (por ejemplo, 1-10000)
  2. Seleccione los tipos de archivo deseados
  3. Elige los idiomas que deseas incluir
  4. Espera la notificación
  5. Descargar
caballo de las sombras
fuente
2
No funciona para mí, solo puedo ver el php sin procesar
Ernest
-4

¿Por qué no utilizar todas sus habilidades y conocimientos de programación demasiado complicados y mostrados arriba para crear un botón simple que vincule todas esas acciones y diga "Descargar todos los libros actuales" con una pestaña de opción de idioma cuando hace clic en él.

Estoy seguro de que la mayoría de los usuarios que visitan el sitio son coleccionistas de libros electrónicos, y la descarga manual de ciertos libros sobre temas que les interesan está bien para 1 o 2 libros. Pero hacer una colección más grande manualmente es un lastre. Sin embargo, si lo necesitan para investigación o simplemente desean tener una enorme biblioteca digital de libros en su propia PC. La mayoría de las personas se apagan y se dispersan del sitio cuando se dan cuenta de que tienen que ser un asistente de computadora para hacer esto. Por lo tanto, un botón "Descargar todos los libros actuales" beneficiaría al proyecto y a sus usuarios, y ciertamente producirá aún más visitantes al sitio. De esa manera todos están felices.

Ivan Stojanovski
fuente