ฉันจะดาวน์โหลดเว็บไซต์ทั้งหมดได้อย่างไร


81

ฉันต้องการดาวน์โหลดเว็บไซต์ทั้งหมด (พร้อมไซต์ย่อย) มีเครื่องมืออะไรบ้าง?


1
คุณพยายามทำอะไรให้สำเร็จ ชื่อเรื่องและเนื้อหาของคำถามของคุณไม่เกี่ยวข้องและเนื้อหานั้นไม่เฉพาะเจาะจง
RolandiXor

หมายเหตุเฉพาะลิงค์ต่อไปนี้เท่านั้น (เช่นใช้--convert-linksใน wget) จะไม่เปิดเผยไซต์ที่เปิดเผยโดยการส่งแบบฟอร์มและอื่น ๆ เท่านั้น
Steven

คำตอบ:


140

ลองตัวอย่างที่ 10 จากที่นี่ :

wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
  • –mirror : เปิดตัวเลือกที่เหมาะสมสำหรับการมิเรอร์

  • -p : ดาวน์โหลดไฟล์ทั้งหมดที่จำเป็นในการแสดงหน้า HTML ที่ถูกต้อง

  • --convert-links : หลังจากดาวน์โหลดแล้วให้แปลงลิงค์ในเอกสารเพื่อการดูในเครื่อง

  • -P ./LOCAL-DIR : บันทึกไฟล์และไดเรกทอรีทั้งหมดไปยังไดเรกทอรีที่ระบุ

มีวิธีการดาวน์โหลดเฉพาะบางหน้า (ตัวอย่างเช่นหลายส่วนของบทความที่กระจายไปทั่วเอกสาร html หลาย)?
don.joey

@ ส่วนบุคคลใช่แม้ว่าอาจจะง่ายกว่าการใช้ python หรือบางอย่างในการรับหน้า (ขึ้นอยู่กับเลย์เอาต์ / URL) หาก URL ของหน้าแตกต่างกันไปตามจำนวนที่เพิ่มขึ้นอย่างต่อเนื่องหรือคุณมีรายการหน้าเว็บคุณอาจใช้ wget ในสคริปต์ทุบตี
Vreality

2
คุณอาจลองใช้การ--wait=secondsโต้เถียงหากคุณต้องการเป็นมิตรกับเว็บไซต์มากกว่า; มันจะรอจำนวนวินาทีที่ระบุระหว่างการดึงข้อมูล
belacqua

งานด้านบน แต่สำหรับ joomla นั้น parameterized url จะสร้างไฟล์ที่ไม่ได้เชื่อมโยงในเครื่อง หนึ่งที่ทำงานสำหรับฉันคือ wget -m -k -K- your your your domain จากที่นี่: vaasa.hacklab.fi/2013/11/28/…
M.Hefny

1
นอกจากนี้ยัง--no-parentจะ "ไม่เคยขึ้นไปไดเรกทอรีแม่" ที่นำมาจากที่นี่
แดเนียล

38

HTTrack สำหรับ Linux คัดลอกเว็บไซต์ในโหมดออฟไลน์

httrackเป็นเครื่องมือที่คุณกำลังมองหา

HTTrackช่วยให้คุณสามารถดาวน์โหลดเว็บไซต์ World Wide จากอินเทอร์เน็ตไปยังไดเรกทอรีท้องถิ่นสร้างไดเรกทอรีทั้งหมดซ้ำรับ HTML, ภาพและไฟล์อื่น ๆ จากเซิร์ฟเวอร์ไปยังคอมพิวเตอร์ของคุณ HTTrack จัดเรียงโครงสร้างลิงก์ที่สัมพันธ์กันของเว็บไซต์เดิม


7

เมื่อwgetคุณสามารถดาวน์โหลดทั้งเว็บไซต์ได้คุณควรใช้-rสวิตช์เพื่อดาวน์โหลดแบบเรียกซ้ำ ตัวอย่างเช่น,

wget -r http://www.google.com

6

WEBHTTRACK เว็บไซต์เครื่องถ่ายเอกสารเป็นเครื่องมือที่มีประโยชน์ในการดาวน์โหลดเว็บไซต์ทั้งหมดบนฮาร์ดดิสก์ของคุณสำหรับการเรียกดูออฟไลน์ เปิดศูนย์ซอฟต์แวร์อูบุนตูและพิมพ์ "webhttrack website copier" โดยไม่ต้องใส่เครื่องหมายคำพูดลงในช่องค้นหา เลือกและดาวน์โหลดจากศูนย์ซอฟต์แวร์ลงในระบบของคุณ เริ่ม webHTTrack จาก laucher หรือเมนูเริ่มจากตรงนั้นคุณสามารถเริ่มเพลิดเพลินกับเครื่องมือที่ยอดเยี่ยมนี้สำหรับการดาวน์โหลดไซต์ของคุณ


3

ฉันไม่รู้เกี่ยวกับโดเมนย่อยเช่นไซต์ย่อย แต่สามารถใช้ wget เพื่อคว้าไซต์ที่สมบูรณ์ได้ ลองดูที่คำถามยอดนิยมนี้ มันบอกว่าคุณสามารถใช้-D domain1.com,domain2.comเพื่อดาวน์โหลดโดเมนที่แตกต่างกันในสคริปต์เดียว ฉันคิดว่าคุณสามารถใช้ตัวเลือกนั้นเพื่อดาวน์โหลดโดเมนย่อยเช่น-D site1.somesite.com,site2.somesite.com


1

ฉันใช้Burp - เครื่องมือสไปเดอร์นั้นฉลาดกว่า wget มากและสามารถกำหนดค่าให้หลีกเลี่ยงส่วนต่างๆได้หากจำเป็น Burp Suite เป็นชุดเครื่องมือที่ทรงพลังเพื่อช่วยในการทดสอบ แต่เครื่องมือ Spider นั้นมีประสิทธิภาพมาก


1
ไม่ใช่เรอร์ Windows เท่านั้นใช่ไหม ข้อตกลงใบอนุญาตแบบปิดแหล่งข้อมูลสำหรับ Burp นั้นค่อนข้างหนักเช่นกัน ไม่ต้องพูดถึงป้ายราคา $ 299.00:
Kat Amsterdam

จากใบอนุญาต: คำเตือน: ฉบับฟรี BURP SUITE ถูกออกแบบมาเพื่อทดสอบข้อบกพร่องด้านความปลอดภัยและสามารถทำให้เกิดความเสียหายต่อระบบเป้าหมายเนื่องจากธรรมชาติของฟังก์ชั่นของมัน การทดสอบข้อบกพร่องด้านความปลอดภัยนั้นเกี่ยวข้องกับการโต้ตอบกับเป้าหมายในวิธีที่ไม่เป็นมาตรฐานซึ่งอาจทำให้เกิดปัญหาในเป้าหมายที่เสี่ยงบางอย่าง คุณต้องดูแลอย่างเต็มที่เมื่อใช้งานซอฟต์แวร์คุณต้องอ่านเอกสารทั้งหมดก่อนการใช้งานคุณควรสำรองข้อมูลระบบเป้าหมายก่อนใช้งานและคุณไม่ควรใช้ซอฟต์แวร์บนระบบการผลิตหรือระบบอื่น ๆ .
Kat Amsterdam

ป้ายราคามีราคาถูกอย่างน่าอัศจรรย์ฉันขอแนะนำให้ซื้อเพื่อทดสอบความปลอดภัยที่หลากหลาย และมันง่ายมากที่จะกำหนดค่าให้ทดสอบตรงตามที่คุณต้องการ - ปลอดภัยกว่า AppScan ในบางกรณี :-)
Rory Alsop

1
@KatAmsterdam เกี่ยวกับคำถามที่เข้ากันได้โดยเฉพาะ: ตามที่ Wikipedia , Burp Suite เป็นแอปพลิเคชัน Java ดังนั้นจึงควรทำงานได้ดีบน Ubuntu
Eliah Kagan

Kat - มันทำงานได้ดีบน Linux หลากหลายรสชาติ คำเตือนเรื่องใบอนุญาตเหมือนกับเครื่องมือใด ๆ ที่คุณสามารถใช้สำหรับการประเมินความปลอดภัย
Rory Alsop

1

คุณสามารถดาวน์โหลดคำสั่งเว็บไซต์ทั้งหมด:

wget -r -l 0 website

ตัวอย่าง:

wget -r -l 0 http://google.com

คุณช่วยอธิบายวิธีการทำงานของคำสั่งนี้ได้ไหม มันทำอะไร
Kaz Wolfe

0

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

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