Làm thế nào để tải xuống tất cả các sách tiếng Anh từ Gutenberg?


23

Tôi cần tải xuống tất cả các sách điện tử Gutenberg, ở định dạng văn bản thuần túy (không phải html) và chỉ bằng ngôn ngữ tiếng Anh.

Bất cứ ai cũng có đề xuất làm thế nào để tải xuống tất cả từ máy chủ Gutenberg?

Tôi cần họ để thực hiện một nghiên cứu ngôn ngữ.

Câu trả lời:


32

Theo thông tin về Robot truy cập vào trang của chúng tôi :

Robot truy cập vào trang web của chúng tôi nên được để lại như tài nguyên cuối cùng, khi mọi thứ khác đã thất bại. Ngoài ra, hãy nhớ rằng trang web Project Gutenberg có bản quyền.

Tuy nhiên, có hy vọng :

Lựa chọn thay thế tốt hơn

  • Nhận phiên bản ngoại tuyến của trang web Project Gutenberg.
  • Nhận tất cả các tập tin ebook Project Gutenberg.
  • Lấy dữ liệu danh mục Project Gutenberg.

Và:

[...] Bạn có thể lấy tất cả Sách điện tử của chúng tôi trong các tệp nén bằng cách trỏ robot của bạn tại http://www.gutenberg.org/robot/harvest

[...] Giải nén các tệp zip sẽ tạo ra 70.000 tệp khác.

Đây là một ví dụ về cách lấy tất cả các tệp bằng cách sử dụng wget:

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

[...] Nếu bạn chỉ muốn một số loại tệp nói:

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

[...] Nếu bạn chỉ muốn các tệp trong một ngôn ngữ nhất định, hãy nói:

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

Vì vậy, tôi muốn:

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

Có cách nào để nói với wget để giới hạn số lượng tệp mà nó tải xuống trong khi thu thập dữ liệu (ví dụ: 100 tệp văn bản đầu tiên mà nó gặp phải) không?
rohanbk

Ngoài ra, khi chúng tôi có một số liên kết trong một tệp văn bản (uri tuyệt đối, hãy nói " gutenberg.org/files/1.zip , gutenberg.org/files/2.zip ", tham số nào được sử dụng để cung cấp tệp văn bản như vậy như một số liên kết tải xuống tới WGET?
EugeneP

@rohanbk, bạn có thể xem những gì sẽ được tải xuống bằng cách duyệt URL, như gutenberg.org/robot/harvest?filetypes[[=txt&langs[[=en Điều này cho thấy nó thực sự được phân trang, nhưng số lượng tệp trên mỗi trang không phải là hằng số . (Có thể dựa trên kích thước?) Vì vậy, để KHÔNG tái diễn, theo hướng dẫn sử dụng wget , bạn có thể thử --level=0. Nhưng tôi đoán bạn tốt hơn nên cho phép hủy bỏ và khởi động lại: thử --level 9999 --no-clobber, sẽ bỏ qua các tệp bạn đã có (giả sử bạn vẫn ở trong cùng một thư mục trên đĩa).
Arjan

1
@EugeneP, xem --input-file trong hướng dẫn .
Arjan

@Arjan Có cách nào để chỉ định bù khi bắt đầu tải xuống không? Quá trình tải xuống của tôi bị gián đoạn do một số lý do và bây giờ wget đã bắt đầu kiểm tra các tệp từ trang đầu tiên. Tôi đã sử dụng -ctùy chọn, nhưng vẫn còn. Tôi đã đưa ra offset=xxxURL để được nhân đôi nhưng vẫn đang tải xuống từ trang đầu tiên.
dùng13107

7

Bạn có thể tải xuống toàn bộ bộ sách tiếng Anh của Gutenbergcác ngôn ngữ khác trong một tệp ZIM duy nhất, được nén rất cao và sau đó có thể được mở bằng Kiwix cả trên máy tính để bàn và Android. Sách tiếng Anh là 40 GB.


không có máy khách linux cho kiwix
aquagremlin 14/2/2016

@aquagremlin Uh? kiwix.org/wiki/Software#GNU.2FLinux Nó thậm chí còn được đóng gói trong một số bản phát hành.
Nemo

2
lấy làm tiếc. không ngủ và không thấy "các hệ thống khác" bên dưới nút lớn.
aquagremlin 14/2/2016

Đây là cuốn sách định dạng txt?
AD

@AD Tôi không chắc ý của bạn là gì. Đó là văn bản + hình ảnh trong HTML, được đóng gói trong ZIM thay vì EPUB hoặc khác. Bạn có thể lấy văn bản đơn giản ra khỏi nó nếu bạn muốn, nhưng câu trả lời của tôi chủ yếu dành cho những người thích sách có định dạng, v.v.
Nemo

6

Mặc dù câu trả lời được chọn là chính xác, nhưng nó có khả năng gây ra hai vấn đề:

  1. Bạn có thể nhận được lỗi 403 từ chối quyền truy cập vào phân trang theo giả định bạn đang tải xuống dưới dạng bot
  2. Có khả năng bạn sẽ được gửi đến một máy nhân bản bên ngoài, nghĩa là wgetlệnh sẽ thất bại trong việc kiểm tra đệ quy khi tải xuống các tệp từ máy nhân bản bên ngoài.

Giải pháp dưới đây khắc phục những vấn đề này:

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"

Bạn có thể muốn thay đổi chuỗi giới thiệu và tác nhân người dùng để cung cấp một chút ngẫu nhiên.


5

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso có một vài lựa chọn tốt.

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso/pgdvd042010.iso là một tệp 8GB nên đủ cho nhu cầu của bạn.

Có nhiều thông tin hơn ở đây:

https://www.gutenberg.org/wiki/Gutenberg:The_CD_and_DVD_Project#Doading_Via_FTP , nó cung cấp tất cả các tùy chọn tải xuống kho lưu trữ, bao gồm FTP và BitTorrent.


1
Tôi khuyên bạn nên sử dụng một torrent như một tùy chọn đạo đức hơn (trên cùng trang với liên kết thứ ba đó): gutenberg.org/wiki/iêu Thật đạo đức hơn vì nó ít gây căng thẳng hơn cho các máy chủ của Project Gutenberg. Có lẽ nó cũng nhanh hơn và hiệu quả hơn. Thêm vào đó, họ đề nghị nó qua ftp. Nếu bạn sử dụng Linux, Transmission là một ứng dụng torrent bit tốt cho mục đích này. Tuy nhiên, điều này sẽ chỉ cung cấp cho bạn những cuốn sách tồn tại trên trang web vào năm 2010, nhưng có vẻ như đó là lựa chọn tốt nhất khi câu trả lời của Shadowhorst không hoạt động.
Shule

3

Một tùy chọn khác là công cụ tuyệt vời tại http://pgiso.pglaf.org/ .

  1. Nhập một phạm vi id (ví dụ: 1-10000)
  2. Chọn loại tệp mong muốn
  3. Chọn ngôn ngữ bạn muốn đưa vào
  4. Đợi thông báo
  5. Tải về

2
Không làm việc cho tôi, tôi chỉ có thể thấy php thô
Ernest

-4

Tại sao không sử dụng tất cả các kỹ năng và kiến ​​thức lập trình quá phức tạp của bạn để thể hiện một nút đơn giản liên kết tất cả các hành động đó và nói "Tải xuống tất cả các sách hiện tại" -với tab tùy chọn ngôn ngữ khi bạn nhấp vào nó.

Tôi chắc chắn rằng hầu hết người dùng đến trang web là những người sưu tầm sách điện tử và tải xuống một số sách nhất định về các chủ đề mà họ quan tâm là ổn đối với 1 hoặc 2 cuốn sách. Nhưng làm cho một bộ sưu tập lớn hơn bằng tay là một trở ngại. Tuy nhiên, nếu họ cần nó để nghiên cứu hoặc đơn giản là muốn sở hữu một thư viện sách kỹ thuật số khổng lồ tại PC của chính họ. Hầu hết mọi người đều tắt và phân tán khỏi trang web khi họ nhận ra rằng họ phải là Trình hướng dẫn máy tính để thực hiện việc này. Vì vậy, nút "Tải xuống tất cả sách hiện tại" sẽ có lợi cho trang web của dự án và người dùng, và nó chắc chắn sẽ tạo ra thậm chí nhiều khách truy cập vào trang web. Vì vậy, mọi người đều hạnh phúc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.