Como baixar todos os livros em inglês de Gutenberg?


23

Preciso fazer o download de todos os ebooks Gutenberg, em formato de texto sem formatação (não html) e apenas no idioma inglês.

Alguém tem sugestões de como baixá-los todos do servidor Gutenberg?

Eu preciso deles para fazer uma pesquisa linguística.

Respostas:


32

De acordo com as informações sobre o acesso do robô às nossas páginas :

O acesso do robô ao nosso site deve ser deixado como último recurso, quando tudo mais falhar. Lembre-se também de que o site do Project Gutenberg é protegido por direitos autorais.

No entanto, há esperança :

Melhores alternativas

  • Obtenha uma versão offline do site do Project Gutenberg.
  • Obtenha todos os arquivos do ebook de Project Gutenberg.
  • Obtenha os dados do catálogo do Project Gutenberg.

E:

[...] Você pode obter todos os nossos eBooks em arquivos compactados, apontando o seu robô em http://www.gutenberg.org/robot/harvest

[...] Descompactar os arquivos zip produzirá outros 70.000 arquivos.

Este é um exemplo de como obter todos os arquivos usando wget:

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

[...] Se você quiser apenas alguns tipos de arquivos, diga:

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

[...] Se você quiser apenas arquivos em um determinado idioma, diga:

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

Então, eu questionaria:

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

Existe uma maneira de dizer ao wget para limitar o número de arquivos baixados durante o rastreamento (por exemplo, os 100 primeiros arquivos de texto que encontrar)?
rohanbk

Além disso, quando temos um número de links em um arquivo de texto (uri absoluto, diga " gutenberg.org/files/1.zip , gutenberg.org/files/2.zip "), que parâmetro é usado para fornecer esse arquivo de texto como um número de links para download do WGET?
EugeneP:

@rohanbk, você pode ver o que será baixado navegando na própria URL, como gutenberg.org/robot/harvest?filetypes[.la=txt&langs[//= Isso mostra que é realmente paginado, mas o número de arquivos por página não é constante . (Talvez com base no tamanho?) Portanto, para NÃO recorrer, de acordo com o manual do wget , você pode tentar --level=0. Mas acho que é melhor você abortar e reiniciar: tente --level 9999 --no-clobber, o que ignorará os arquivos que você já possui (supondo que você ainda esteja na mesma pasta do disco).
Arjan

1
@EugeneP, veja --input-file no manual .
Arjan

@Arjan Existe uma maneira de especificar o deslocamento no início do download? Meu download foi interrompido por alguns motivos e agora o wget começou a verificar arquivos na primeira página. Eu tinha usado a -copção, mas ainda assim. Dei offset=xxxna URL para ser espelhado, mas ainda está baixando da primeira página.
user13107

7

Você pode fazer o download de toda a coleção de livros em inglês da Gutenberg e de outros idiomas em um único arquivo ZIM, que é altamente compactado e pode ser aberto com o Kiwix tanto na área de trabalho quanto no Android. Os livros em inglês são de 40 GB.


nenhum cliente linux para Kiwix
aquagremlin

@aquagremlin Uh? kiwix.org/wiki/Software#GNU.2FLinux Está incluso em algumas distribuições.
Nemo

2
Desculpe. não dormi e não vi os 'outros sistemas' abaixo do botão grande.
aquagremlin

é este livro em formato txt?
AD

@ AD Não sei ao certo o que você quer dizer. É texto + imagens em HTML, empacotado no ZIM em vez de EPUB ou outro. Você pode sair de texto simples do que se você quiser, mas a minha resposta é principalmente para pessoas que preferem livros formatados etc.
Nemo

6

Enquanto a resposta selecionada estiver correta, ela poderá causar dois problemas:

  1. Você pode receber um erro 403 negando o acesso à paginação sob a presunção de que está baixando como um bot
  2. Existe o potencial de você ser enviado para um espelho externo, o que significa que o wgetcomando falhará nas verificações recursivas ao baixar os arquivos de um espelho externo.

A solução abaixo corrige estes 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"

Você pode alterar as seqüências de referência e agente do usuário para fornecer um pouco de aleatoriedade.


5

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso tem algumas boas opções.

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso/pgdvd042010.iso é um arquivo de 8 GB que deve ser suficiente para suas necessidades.

Há mais informações aqui:

https://www.gutenberg.org/wiki/Gutenberg:The_CD_and_DVD_Project#Downloading_Via_FTP , fornece todas as opções de download do arquivo, incluindo FTP e BitTorrent.


1
Eu recomendo o uso de um torrent como uma opção mais ética (na mesma página do terceiro link): gutenberg.org/wiki/… É mais ético porque causa menos pressão nos servidores do Project Gutenberg. Provavelmente também é mais rápido e mais eficaz. Além disso, eles recomendam sobre FTP. Se você usa Linux, Transmission é um bom cliente de torrent para esse propósito. Porém, isso só fornecerá livros que existiam no site em 2010, mas parece a melhor opção quando a resposta do shadowhorst não é funcional.
Shule

3

Outra opção é a ótima ferramenta em http://pgiso.pglaf.org/ .

  1. Digite um intervalo de identificação (por exemplo, 1-10000)
  2. Selecione os tipos de arquivo desejados
  3. Escolha os idiomas que você deseja incluir
  4. Aguarde a notificação
  5. Baixar

2
Não está funcionando para mim, eu só posso ver o php bruto
Ernest

-4

Por que não usar todas as suas habilidades e conhecimentos de programação complicados e mostrados acima para criar um botão simples que vincula todas essas ações e diz "Baixar todos os livros atuais" - com uma guia de opção de idioma quando você clica nele.

Tenho certeza de que a maioria dos usuários que acessam o site é colecionadora de livros eletrônicos e o download manual de certos livros sobre tópicos que os interessam é bom para 1 ou 2 livros. Mas fazer uma coleção maior manualmente é uma chatice. No entanto, se eles precisam para pesquisa ou simplesmente desejam possuir uma enorme biblioteca digital de livros em seu próprio PC. A maioria das pessoas é desativada e se dispersa para fora do site quando percebe que precisa ser um Assistente de Computador para fazer isso. ainda mais visitantes no site. Assim, todo mundo está feliz.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.