จะดาวน์โหลดหนังสือภาษาอังกฤษทั้งหมดจากกูเทนเบิร์กได้อย่างไร


23

ฉันจำเป็นต้องดาวน์โหลด ebooks Gutenberg ทั้งหมดในรูปแบบข้อความล้วน (ไม่ใช่ html) และเป็นภาษาอังกฤษเท่านั้น

ใครมีคำแนะนำวิธีการดาวน์โหลดทั้งหมดจากเซิร์ฟเวอร์ Gutenberg

ฉันต้องการให้พวกเขาทำวิจัยภาษา

คำตอบ:


32

ตามข้อมูลเกี่ยวกับการเข้าถึงหุ่นยนต์ไปยังหน้าของเรา :

การเข้าถึงหุ่นยนต์ไปยังเว็บไซต์ของเราควรเป็นทรัพยากรสุดท้ายเมื่อทุกอย่างไม่ผ่าน นอกจากนี้โปรดจำไว้ว่าเว็บไซต์ Project Gutenberg นั้นมีลิขสิทธิ์

อย่างไรก็ตามมีความหวัง :

ทางเลือกที่ดีกว่า

  • รับเว็บไซต์ Project Gutenberg รุ่นออฟไลน์
  • รับไฟล์ ebook Project Gutenberg ทั้งหมด
  • รับข้อมูลแคตตาล็อก Project Gutenberg

และ:

[... ] คุณสามารถรับ eBooks ของเราทั้งหมดในไฟล์ซิปโดยชี้หุ่นยนต์ของคุณที่ http://www.gutenberg.org/robot/harvest

[... ] การคลายไฟล์ zip จะสร้างอีก 70,000 ไฟล์

นี่คือตัวอย่างของวิธีการรับไฟล์ทั้งหมดโดยใช้wget:

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

[... ] หากคุณต้องการไฟล์บางประเภทเท่านั้นที่จะพูดว่า:

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

[... ] หากคุณต้องการเฉพาะไฟล์ในภาษาที่ระบุ:

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

ดังนั้นฉันจะหยุด:

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

มีวิธีที่จะบอกให้ wget จำกัด จำนวนไฟล์ที่ดาวน์โหลดขณะรวบรวมข้อมูลหรือไม่ (เช่นไฟล์ข้อความ 100 ไฟล์แรกที่พบ)
rohanbk

นอกจากนี้เมื่อเรามีลิงค์จำนวนมากในไฟล์ข้อความ (uri แบบสัมบูรณ์ให้พูดว่า " gutenberg.org/files/1.zip , gutenberg.org/files/2.zip ") พารามิเตอร์ใดที่ใช้ในการจัดทำไฟล์ข้อความเช่นนั้น เป็นลิงค์ดาวน์โหลดจำนวนหนึ่งไปยัง WGET?
EugeneP

@rohanbk คุณสามารถมองเห็นสิ่งที่จะได้รับการดาวน์โหลดโดยการเรียกดู URL ของตัวเองเช่นgutenberg.org/robot/harvest?filetypes[]=txt&langs[]=enนี้แสดงให้เห็นว่ามันใส่เลขหน้าจริง แต่จำนวนไฟล์ต่อหน้าไม่คงที่ . (อาจจะขึ้นอยู่กับขนาด?) ดังนั้นเพื่อไม่ recurse ตามคู่มือ wget--level=0คุณอาจลอง แต่ฉันเดาว่าคุณควรยกเลิกและรีสตาร์ทดีกว่า: ลอง--level 9999 --no-clobberซึ่งจะข้ามไฟล์ที่คุณมีอยู่แล้ว (สมมติว่าคุณยังอยู่ในโฟลเดอร์เดียวกันบนดิสก์)
Arjan

1
@EugeneP ดูในคู่มือ--input-file
Arjan

@Arjan มีวิธีระบุออฟเซ็ตเมื่อเริ่มต้นการดาวน์โหลดหรือไม่? การดาวน์โหลดของฉันถูกขัดจังหวะเนื่องจากสาเหตุบางอย่างและตอนนี้ wget เริ่มตรวจสอบไฟล์จากหน้าแรก ฉันได้ใช้-cตัวเลือก แต่ก็ยัง ฉันให้offset=xxxใน URL เพื่อเป็นมิร์เรอร์ แต่ก็ยังดาวน์โหลดจากหน้าแรก
user13107

7

คุณสามารถดาวน์โหลดหนังสือภาษาอังกฤษและภาษาอื่น ๆทั้งหมดในชุดกูเทนแบร์กในไฟล์ ZIM ไฟล์เดียวซึ่งมีการบีบอัดสูงและสามารถเปิดได้ด้วยKiwixทั้งบนเดสก์ท็อปและ Android หนังสือภาษาอังกฤษมีขนาด 40 GB


ไม่มีไคลเอนต์ linux สำหรับ kiwix
aquagremlin

@aquagremlin เอ่อ? kiwix.org/wiki/Software#GNU.2FLinuxมันบรรจุอยู่ใน distros
Nemo

2
ขอโทษ ไม่หลับและไม่เห็น 'ระบบอื่น' ด้านล่างปุ่มใหญ่
aquagremlin

หนังสือรูปแบบ txt นี้คืออะไร
โฆษณา

@AD ฉันไม่แน่ใจว่าคุณหมายถึงอะไร มันคือข้อความ + รูปภาพใน HTML บรรจุใน ZIM แทนที่จะเป็น EPUB หรืออื่น ๆ คุณจะได้รับข้อความธรรมดาของมันถ้าคุณต้องการ แต่คำตอบของฉันเป็นส่วนใหญ่สำหรับคนที่ชื่นชอบการจัดรูปแบบหนังสือ ฯลฯ
Nemo

6

แม้ว่าคำตอบที่เลือกนั้นถูกต้อง แต่อาจทำให้เกิดปัญหาสองประการ:

  1. คุณอาจได้รับข้อผิดพลาด 403 ที่ปฏิเสธการเข้าถึงเลขหน้าภายใต้ข้อสันนิษฐานที่คุณกำลังดาวน์โหลดเป็นบอท
  2. มีความเป็นไปได้ที่คุณจะถูกส่งไปยังมิเรอร์ภายนอกซึ่งหมายความว่าwgetคำสั่งจะล้มเหลวโดยจะตรวจสอบซ้ำในการดาวน์โหลดไฟล์จากมิเรอร์ภายนอก

การแก้ปัญหาด้านล่างแก้ไขปัญหาเหล่านี้:

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"

คุณอาจต้องการเปลี่ยนสายผู้อ้างอิงและสตริงตัวแทนผู้ใช้เพื่อให้บิตของการสุ่ม


5

ftp://mirrors.pglaf.org/mirrors/gutenberg-isoมีตัวเลือกที่ดีสองสามข้อ

ftp://mirrors.pglaf.org/mirrors/gutenberg-iso/pgdvd042010.isoเป็นไฟล์ 8GB ที่น่าจะเพียงพอสำหรับความต้องการของคุณ

มีข้อมูลเพิ่มเติมที่นี่:

https://www.gutenberg.org/wiki/Gutenberg: The_CD_and_DVD_Project# Downloading_Via_FTP มันให้ตัวเลือกทั้งหมดในการดาวน์โหลดไฟล์เก็บถาวรรวมถึง FTP และ BitTorrent


1
ฉันแนะนำให้ใช้ฝนตกหนักเป็นตัวเลือกที่มีจริยธรรมมากขึ้น (ในหน้าเดียวกับลิงค์ที่สาม): gutenberg.org/wiki/ ......มันมีจริยธรรมมากกว่าเพราะมันทำให้เซิร์ฟเวอร์ของ Project Gutenberg เครียดน้อยลง มันอาจเร็วกว่าและมีประสิทธิภาพมากกว่าเช่นกัน นอกจากนี้พวกเขาแนะนำให้ใช้มากกว่า ftp หากคุณใช้ Linux การส่งเป็นไคลเอนต์ฝนตกหนักที่ดีสำหรับวัตถุประสงค์ สิ่งนี้จะให้เฉพาะหนังสือที่มีอยู่บนไซต์ในปี 2010 แต่ดูเหมือนว่าจะเป็นตัวเลือกที่ดีที่สุดเมื่อคำตอบของ shadowhorst ไม่ทำงาน
Shule

3

อีกตัวเลือกหนึ่งเป็นเครื่องมือที่ดีที่http://pgiso.pglaf.org/

  1. ป้อนช่วง id (เช่น 1-10000)
  2. เลือกประเภทไฟล์ที่ต้องการ
  3. เลือกภาษาที่คุณต้องการรวม
  4. รอการแจ้งเตือน
  5. ดาวน์โหลด

2
ไม่ทำงานสำหรับฉันฉันสามารถดู php ดิบได้
Ernest

-4

ทำไมไม่ใช้ความซับซ้อนมากเกินไปของคุณและแสดงให้เห็นข้างต้นทักษะการเขียนโปรแกรมและความรู้เพื่อให้ปุ่มง่ายที่เชื่อมโยงการกระทำเหล่านั้นทั้งหมดและพูดว่า "ดาวน์โหลดหนังสือปัจจุบันทั้งหมด" ด้วยแท็บตัวเลือกภาษาเมื่อคุณคลิก

ฉันแน่ใจว่าผู้ใช้ส่วนใหญ่ที่มาที่ไซต์เป็นนักสะสม e-book และการดาวน์โหลดหนังสือบางเล่มในหัวข้อที่สนใจพวกเขานั้นใช้ได้สำหรับหนังสือ 1 หรือ 2 เล่ม แต่การสร้างคอลเลกชันที่ใหญ่กว่าด้วยตนเองคือการลาก อย่างไรก็ตามหากพวกเขาต้องการสำหรับการวิจัยหรือต้องการเพียงแค่มีห้องสมุดดิจิทัลขนาดใหญ่ของหนังสือในพีซีของพวกเขาเอง คนส่วนใหญ่จะถูกปิดและกระจายออกไปจากเว็บไซต์เมื่อพวกเขาตระหนักว่าพวกเขาจะต้องเป็นตัวช่วยสร้างคอมพิวเตอร์เพื่อทำสิ่งนี้ดังนั้นปุ่ม "ดาวน์โหลดหนังสือทั้งหมดในปัจจุบัน" จะเป็นประโยชน์ต่อเว็บไซต์โครงการและผู้ใช้ ผู้เยี่ยมชมเว็บไซต์มากยิ่งขึ้น ดังนั้นวิธีที่ทุกคนมีความสุข

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.