Bagaimana cara mengunduh semua buku berbahasa Inggris dari Gutenberg?

23

Saya perlu mengunduh semua ebook Gutenberg, dalam format teks biasa (bukan html) dan hanya dalam bahasa Inggris.

Adakah yang punya saran cara mengunduh semuanya dari server Gutenberg?

Saya membutuhkan mereka untuk melakukan penelitian linguistik.

EugeneP
sumber

Jawaban:

32

Menurut Informasi Tentang Akses Robot ke Halaman kami :

Akses robot ke situs kami harus dibiarkan sebagai sumber terakhir, ketika semuanya gagal. Juga, ingat bahwa situs web Project Gutenberg memiliki hak cipta.

Namun, ada harapan :

Alternatif yang Lebih Baik

  • Dapatkan versi offline situs web Project Gutenberg.
  • Dapatkan semua file ebook Project Gutenberg.
  • Dapatkan data katalog Project Gutenberg.

Dan:

[...] Anda bisa mendapatkan semua eBuku kami dalam file zip dengan mengarahkan robot Anda di http://www.gutenberg.org/robot/harvest

[...] Membongkar file zip akan menghasilkan 70.000 file lainnya.

Ini adalah contoh cara mendapatkan semua file menggunakan wget:

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

[...] Jika Anda hanya menginginkan beberapa jenis file, katakan:

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

[...] Jika Anda hanya menginginkan file dalam bahasa tertentu katakan:

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

Jadi, saya akan bertanya:

wget -w 2 -m http://www.gutenberg.org/robot/harvest?filetypes[]=txt&langs[]=en
Arjan
sumber
Apakah ada cara untuk memberi tahu wget untuk membatasi jumlah file yang diunduh saat dirayapi (mis. 100 file teks pertama yang dihadapinya)?
rohanbk
Juga, ketika kita memiliki sejumlah tautan dalam file teks (absolut uri, katakan " gutenberg.org/files/1.zip , gutenberg.org/files/2.zip ", parameter apa yang digunakan untuk menyediakan file teks seperti itu sebagai sejumlah tautan unduhan ke WGET?
EugeneP
@rohanbk, Anda dapat melihat apa yang akan diunduh dengan menjelajahi URL itu sendiri, seperti gutenberg.org/robot/harvest?filetypes[[=txt&langs[[=en Ini menunjukkan itu sebenarnya paginasi, tetapi jumlah file per halaman tidak konstan . (Mungkin berdasarkan ukuran?) Jadi, untuk TIDAK berulang, menurut manual wget , Anda dapat mencoba --level=0. Tapi saya kira Anda lebih baik membiarkan untuk membatalkan dan me-restart: coba --level 9999 --no-clobber, yang akan melewati file yang sudah Anda miliki (dengan asumsi Anda masih di folder yang sama pada disk).
Arjan
1
@EugeneP, lihat --input-file di manual .
Arjan
@ Arjan Apakah ada cara untuk menentukan offset pada awal pengunduhan? Pengunduhan saya terganggu karena beberapa alasan dan sekarang wget sudah mulai memeriksa file dari halaman pertama. Saya telah menggunakan -copsi, tapi tetap saja. Saya memberi offset=xxxURL untuk dicerminkan tetapi tetap mengunduh dari halaman pertama.
user13107
7

Anda dapat mengunduh seluruh koleksi buku berbahasa Inggris Gutenberg dan bahasa lainnya dalam satu file ZIM, yang sangat terkompresi dan kemudian dapat dibuka dengan Kiwix baik di desktop maupun Android. Buku-buku bahasa Inggris adalah 40 GB.

Nemo
sumber
tidak ada klien linux untuk kiwix
aquagremlin
@ aquagremlin Uh? kiwix.org/wiki/Software#GNU.2FLinux Ini bahkan dikemas dalam beberapa distro.
Nemo
2
Maaf. tidak tidur dan tidak melihat 'sistem lain' di bawah tombol besar.
aquagremlin
apakah ini buku format txt?
AD
@AD, saya tidak yakin apa yang Anda maksud. Ini teks + gambar dalam HTML, dikemas dalam ZIM daripada EPUB atau lainnya. Anda bisa mendapatkan teks biasa jika Anda mau, tetapi jawaban saya sebagian besar untuk orang-orang yang lebih suka buku berformat dll.
Nemo
6

Meskipun jawaban yang dipilih benar, kemungkinan akan menyebabkan dua masalah:

  1. Anda mungkin menerima kesalahan 403 yang menolak akses ke halaman dengan anggapan yang Anda unduh sebagai bot
  2. Ada potensi bahwa Anda akan dikirim ke mirror eksternal, artinya wgetperintah itu akan gagal, itu cek berulang pada mengunduh file dari mirror eksternal.

Solusi di bawah ini memperbaiki masalah ini:

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"

Anda mungkin ingin mengubah string agen referensi dan agen pengguna untuk memberikan sedikit keacakan.

Corey Ballou
sumber
5

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso memiliki beberapa opsi bagus.

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso/pgdvd042010.iso adalah file 8GB yang cukup untuk kebutuhan Anda.

Ada informasi lebih lanjut di sini:

https://www.gutenberg.org/wiki/Gutenberg:The_CD_and_DVD_Project#Downloading_Via_FTP , ini memberikan semua pilihan untuk mengunduh arsip, termasuk FTP dan BitTorrent.

David Airapetyan
sumber
1
Saya sarankan menggunakan torrent sebagai opsi yang lebih etis (pada halaman yang sama dengan tautan ketiga itu): gutenberg.org/wiki/... Itu lebih etis karena lebih sedikit memberi tekanan pada server Project Gutenberg. Mungkin lebih cepat dan lebih efektif juga. Plus, mereka merekomendasikannya lebih dari ftp. Jika Anda menggunakan Linux, Transmission adalah klien torrent yang baik untuk tujuan tersebut. Namun, ini hanya akan memberi Anda buku-buku yang ada di situs pada tahun 2010, tetapi tampaknya pilihan terbaik ketika jawaban shadowhorst tidak berfungsi.
Shule
3

Opsi lain adalah alat hebat di http://pgiso.pglaf.org/ .

  1. Masukkan rentang id (mis. 1-10000)
  2. Pilih jenis file yang diinginkan
  3. Pilih bahasa yang ingin Anda sertakan
  4. Tunggu notifikasi
  5. Unduh
shadowhorst
sumber
2
Tidak bekerja untuk saya, saya hanya bisa melihat php mentah
Ernest
-4

Mengapa tidak menggunakan semua keterampilan dan pengetahuan pemrograman Anda yang terlalu rumit dan ditampilkan di atas untuk membuat tombol sederhana yang menautkan semua tindakan itu dan mengatakan "Unduh Semua Buku Saat Ini" - dengan tab opsi bahasa saat Anda mengkliknya.

Saya yakin sebagian besar pengguna yang datang ke situs ini adalah pengumpul e-book, dan secara manual mengunduh buku-buku tertentu tentang topik-topik yang menarik bagi mereka adalah OK untuk 1 atau 2 buku. Tetapi membuat koleksi yang lebih besar secara manual adalah hambatan. Namun demikian jika mereka membutuhkannya untuk penelitian atau hanya ingin memiliki perpustakaan buku digital yang sangat besar di PC mereka sendiri. Kebanyakan orang dimatikan dan tersebar jauh dari situs ketika mereka menyadari bahwa mereka harus menjadi Computer Wizard untuk melakukan ini. Jadi tombol "Unduh Semua Buku Saat Ini" akan menguntungkan situs proyek dan penggunanya, dan itu pasti akan menghasilkan bahkan lebih banyak pengunjung ke situs tersebut. Jadi dengan begitu semua orang senang.

Ivan Stojanovski
sumber