ดาวน์โหลดเว็บไซต์ทั้งหมดจาก Internet Archive Wayback Machine
คุณต้องติดตั้ง Ruby บนระบบของคุณ (>= 1.9.2) - หากคุณยังไม่มี จากนั้นเรียกใช้:
gem install wayback_machine_downloader
เคล็ดลับ: หากคุณพบข้อผิดพลาดในการอนุญาต คุณอาจต้องเพิ่ม sudo
หน้าคำสั่งนี้
เรียกใช้ wayback_machine_downloader ด้วย URL พื้นฐานของเว็บไซต์ที่คุณต้องการดึงข้อมูลเป็นพารามิเตอร์ (เช่น http://example.com):
wayback_machine_downloader http://example.com
มันจะดาวน์โหลดเวอร์ชันล่าสุดของทุกไฟล์ที่มีอยู่ใน Wayback Machine ไปที่ ./websites/example.com/
นอกจากนี้ยังจะสร้างโครงสร้างไดเร็กทอรีใหม่และสร้างหน้า index.html
อัตโนมัติเพื่อให้ทำงานร่วมกับ Apache และ Nginx ได้อย่างราบรื่น ไฟล์ทั้งหมดที่ดาวน์โหลดเป็นไฟล์ต้นฉบับ ไม่ใช่เวอร์ชันที่ Wayback Machine เขียนใหม่ ด้วยวิธีนี้ URL และโครงสร้างลิงก์จะเหมือนเดิม
Usage: wayback_machine_downloader http://example.com
Download an entire website from the Wayback Machine.
Optional options:
-d, --directory PATH Directory to save the downloaded files into
Default is ./websites/ plus the domain name
-s, --all-timestamps Download all snapshots/timestamps for a given website
-f, --from TIMESTAMP Only files on or after timestamp supplied (ie. 20060716231334)
-t, --to TIMESTAMP Only files on or before timestamp supplied (ie. 20100916231334)
-e, --exact-url Download only the url provided and not the full site
-o, --only ONLY_FILTER Restrict downloading to urls that match this filter
(use // notation for the filter to be treated as a regex)
-x, --exclude EXCLUDE_FILTER Skip downloading of urls that match this filter
(use // notation for the filter to be treated as a regex)
-a, --all Expand downloading to error files (40x and 50x) and redirections (30x)
-c, --concurrency NUMBER Number of multiple files to download at a time
Default is one file at a time (ie. 20)
-p, --maximum-snapshot NUMBER Maximum snapshot pages to consider (Default is 100)
Count an average of 150,000 snapshots per page
-l, --list Only list file urls in a JSON format with the archived timestamps, won't download anything
-d, --directory PATH
ไม่จำเป็น. ตามค่าเริ่มต้น Wayback Machine Downloader จะดาวน์โหลดไฟล์ไปที่ ./websites/
ตามด้วยชื่อโดเมนของเว็บไซต์ คุณอาจต้องการบันทึกไฟล์ในไดเร็กทอรีเฉพาะโดยใช้ตัวเลือกนี้
ตัวอย่าง:
wayback_machine_downloader http://example.com --directory downloaded-backup/
-s, --all-timestamps
ไม่จำเป็น. ตัวเลือกนี้จะดาวน์โหลดการประทับเวลา/สแนปชอตทั้งหมดสำหรับเว็บไซต์ที่ระบุ โดยจะใช้การประทับเวลาของแต่ละสแน็ปช็อตเป็นไดเร็กทอรี
ตัวอย่าง:
wayback_machine_downloader http://example.com --all-timestamps
Will download:
websites/example.com/20060715085250/index.html
websites/example.com/20051120005053/index.html
websites/example.com/20060111095815/img/logo.png
...
-f, --from TIMESTAMP
ไม่จำเป็น. คุณอาจต้องการระบุจากการประทับเวลาเพื่อล็อคการสำรองข้อมูลของคุณไปยังเวอร์ชันเฉพาะของเว็บไซต์ สามารถดูการประทับเวลาได้ใน URL ของเว็บไซต์ Wayback Machine ปกติ (เช่น https://web.archive.org/web/20060716231334/http://example.com) คุณยังสามารถใช้ปี (2006), ปี + เดือน (200607) เป็นต้น โดยสามารถใช้ร่วมกับ To Timestamp ได้ Wayback Machine Downloader จะดึงข้อมูลเฉพาะเวอร์ชันของไฟล์ในหรือหลังการประทับเวลาที่ระบุ
ตัวอย่าง:
wayback_machine_downloader http://example.com --from 20060716231334
-t, --to TIMESTAMP
ไม่จำเป็น. คุณอาจต้องการระบุการประทับเวลาเพื่อล็อคการสำรองข้อมูลของคุณไปยังเวอร์ชันเฉพาะของเว็บไซต์ สามารถดูการประทับเวลาได้ใน URL ของเว็บไซต์ Wayback Machine ปกติ (เช่น https://web.archive.org/web/20100916231334/http://example.com) คุณยังสามารถใช้ปี (2010), ปี + เดือน (201009) ฯลฯ โดยสามารถใช้ร่วมกับ From Timestamp ได้ Wayback Machine Downloader จะดึงข้อมูลเฉพาะเวอร์ชันของไฟล์ในหรือก่อนเวลาประทับที่ระบุ
ตัวอย่าง:
wayback_machine_downloader http://example.com --to 20100916231334
-e, --exact-url
ไม่จำเป็น. หากคุณต้องการดึงข้อมูลเฉพาะไฟล์ที่ตรงกับ URL ที่ให้ไว้ คุณสามารถใช้แฟล็กนี้ได้ มันจะหลีกเลี่ยงการดาวน์โหลดสิ่งอื่นใด
ตัวอย่างเช่น หากคุณต้องการดาวน์โหลดเฉพาะไฟล์หน้าแรก html ของ example.com:
wayback_machine_downloader http://example.com --exact-url
-o, --only ONLY_FILTER
ไม่จำเป็น. คุณอาจต้องการเรียกค้นไฟล์บางประเภท (เช่น .pdf, .jpg, .wrd...) หรืออยู่ในไดเร็กทอรีเฉพาะ ในการทำเช่นนั้น คุณสามารถระบุ --only
แฟล็กด้วยสตริงหรือ regex (โดยใช้สัญลักษณ์ '/regex/') เพื่อจำกัดไฟล์ที่ Wayback Machine Downloader จะดาวน์โหลด
ตัวอย่างเช่น หากคุณต้องการดาวน์โหลดไฟล์ภายใน my_directory
ใดโดยเฉพาะ :
wayback_machine_downloader http://example.com --only my_directory
หรือหากคุณต้องการดาวน์โหลดทุกภาพโดยไม่มีสิ่งอื่นใด:
wayback_machine_downloader http://example.com --only "/.(gif|jpg|jpeg)$/i"
-x, --exclude EXCLUDE_FILTER
ไม่จำเป็น. คุณอาจต้องการเรียกค้นไฟล์ที่ไม่ใช่บางประเภท (เช่น .pdf, .jpg, .wrd...) หรือไม่ได้อยู่ในไดเรกทอรีเฉพาะ ในการทำเช่นนั้น คุณสามารถระบุแฟล็ก --exclude
ด้วยสตริงหรือ regex (โดยใช้สัญลักษณ์ '/regex/') เพื่อจำกัดไฟล์ที่ Wayback Machine Downloader จะดาวน์โหลด
ตัวอย่างเช่น หากคุณต้องการหลีกเลี่ยงการดาวน์โหลดไฟล์ภายใน my_directory
:
wayback_machine_downloader http://example.com --exclude my_directory
หรือหากคุณต้องการดาวน์โหลดทุกอย่างยกเว้นรูปภาพ:
wayback_machine_downloader http://example.com --exclude "/.(gif|jpg|jpeg)$/i"
-a, --all
ไม่จำเป็น. ตามค่าเริ่มต้น Wayback Machine Downloader จะจำกัดตัวเองไว้ที่ไฟล์ที่ตอบกลับด้วยรหัส 200 OK หากคุณต้องการไฟล์ข้อผิดพลาด (รหัส 40x และ 50x) หรือไฟล์การเปลี่ยนเส้นทาง (รหัส 30x) คุณสามารถใช้แฟล็ก --all
หรือ -a
และ Wayback Machine Downloader จะดาวน์โหลดไฟล์เหล่านั้นเพิ่มเติมจากไฟล์ OK 200 ไฟล์ นอกจากนี้ยังจะเก็บไฟล์ว่างที่ถูกลบออกตามค่าเริ่มต้นอีกด้วย
ตัวอย่าง:
wayback_machine_downloader http://example.com --all
-l, --list
มันจะแสดงไฟล์ที่จะดาวน์โหลดพร้อมการประทับเวลาและ URL ของสแนปชอต รูปแบบเอาต์พุตคือ JSON มันจะไม่ดาวน์โหลดอะไรเลย มีประโยชน์สำหรับการดีบักหรือเชื่อมต่อกับแอปพลิเคชันอื่น
ตัวอย่าง:
wayback_machine_downloader http://example.com --list
-p, --snapshot-pages NUMBER
ไม่จำเป็น. ระบุจำนวนหน้าสแน็ปช็อตสูงสุดที่จะพิจารณา นับสแนปช็อตเฉลี่ย 150,000 ภาพต่อหน้า 100 คือจำนวนหน้าสแนปชอตสูงสุดที่เป็นค่าเริ่มต้น และควรจะเพียงพอสำหรับเว็บไซต์ส่วนใหญ่ ใช้ตัวเลขที่มากขึ้นหากคุณต้องการดาวน์โหลดเว็บไซต์ที่มีขนาดใหญ่มาก
ตัวอย่าง:
wayback_machine_downloader http://example.com --snapshot-pages 300
-c, --concurrency NUMBER
ไม่จำเป็น. ระบุจำนวนไฟล์หลายไฟล์ที่คุณต้องการดาวน์โหลดพร้อมกัน ช่วยให้สามารถเร่งความเร็วการดาวน์โหลดเว็บไซต์ได้อย่างมาก ค่าเริ่มต้นคือการดาวน์โหลดไฟล์ทีละไฟล์
ตัวอย่าง:
wayback_machine_downloader http://example.com --concurrency 20
เพื่อเป็นทางเลือกในการติดตั้ง เรามีอิมเมจ Docker! ดึงอิมเมจ Docker ของ wayback-machine-downloader ด้วยวิธีนี้:
docker pull hartator/wayback-machine-downloader
จากนั้นคุณควรจะสามารถใช้อิมเมจ Docker เพื่อดาวน์โหลดเว็บไซต์ได้ ตัวอย่างเช่น:
docker run --rm -it -v $PWD/websites:/websites hartator/wayback-machine-downloader http://example.com
ยินดีบริจาค! เพียงส่งคำขอดึงผ่าน GitHub
หากต้องการรันการทดสอบ:
bundle install
bundle exec rake test