วิธีดาวน์โหลดเว็บเพจและไฟล์โดยใช้ wget

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


คุณสมบัติของคำสั่ง wget

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

คุณสมบัติอื่น ๆ ของ wget มีดังนี้:

  • ดาวน์โหลดไฟล์โดยใช้ HTTP, HTTPS และ FTP
  • ดาวน์โหลดต่อ
  • แปลงลิงก์สัมบูรณ์ในหน้าเว็บที่ดาวน์โหลดเป็น URL สัมพัทธ์เพื่อให้สามารถดูเว็บไซต์แบบออฟไลน์ได้
  • รองรับพร็อกซี HTTP และคุกกี้
  • รองรับการเชื่อมต่อ HTTP แบบต่อเนื่อง
  • สามารถทำงานในพื้นหลังแม้ว่าคุณจะไม่ได้เข้าสู่ระบบ
  • ทำงานบน Linux และ Windows

วิธีดาวน์โหลดเว็บไซต์โดยใช้ wget

สำหรับคู่มือนี้คุณจะได้เรียนรู้วิธีดาวน์โหลดบล็อก Linux นี้:

wget www.ever

ก่อนที่คุณจะเริ่มสร้างโฟลเดอร์ในเครื่องของคุณโดยใช้คำสั่ง mkdir จากนั้นย้ายเข้าไปในโฟลเดอร์โดยใช้คำสั่ง cd

ตัวอย่างเช่น:

mkdir ทุกวัน
cd ทุกวัน
wget www.ever

ผลลัพธ์คือไฟล์ index.html ไฟล์เดียวที่มีเนื้อหาที่ดึงมาจาก Google รูปภาพและสไตล์ชีตถูกเก็บไว้ใน Google

ในการดาวน์โหลดไซต์แบบเต็มและทุกหน้าให้ใช้คำสั่งต่อไปนี้:

wget -r www.ever

สิ่งนี้จะดาวน์โหลดหน้าซ้ำ ๆ ได้สูงสุด 5 ระดับความลึก ความลึกห้าระดับอาจไม่เพียงพอที่จะรับทุกอย่างจากไซต์ ใช้ -l สลับเพื่อกำหนดจำนวนระดับที่คุณต้องการไปดังต่อไปนี้:

wget -r -l10 www.ever

หากคุณต้องการเรียกซ้ำไม่สิ้นสุดให้ใช้สิ่งต่อไปนี้:

wget -r -l inf www.ever

คุณยังสามารถแทนที่ไฟล์ INF กับ 0ซึ่งหมายถึงสิ่งเดียวกัน

ยังมีอีกหนึ่งปัญหา คุณอาจได้รับหน้าทั้งหมดในเครื่อง แต่ลิงก์ในหน้านั้นชี้ไปที่ตำแหน่งเดิม ไม่สามารถคลิกภายในระหว่างลิงก์บนหน้าได้

หากต้องการแก้ไขปัญหานี้ให้ใช้ไฟล์ -k สลับเพื่อแปลงลิงก์บนเพจให้ชี้ไปที่เทียบเท่าที่ดาวน์โหลดในเครื่องดังต่อไปนี้:

wget -r -k www.ever

หากคุณต้องการรับมิเรอร์เว็บไซต์ที่สมบูรณ์ให้ใช้สวิตช์ต่อไปนี้ซึ่งจะช่วยลดความจำเป็นในการใช้ไฟล์ -r, -kและ -l สวิทช์

wget -m www.ever

หากคุณมีเว็บไซต์คุณสามารถสำรองข้อมูลทั้งหมดโดยใช้คำสั่งง่ายๆนี้


เรียกใช้ wget เป็นคำสั่งพื้นหลัง

คุณสามารถเรียกใช้ wget เพื่อเรียกใช้เป็นคำสั่งพื้นหลังเพื่อให้คุณสามารถทำงานต่อไปได้ในหน้าต่างเทอร์มินัลในขณะที่ดาวน์โหลดไฟล์ ใช้คำสั่งต่อไปนี้:

wget -b www.ever

คุณสามารถรวมสวิตช์ ในการรันคำสั่ง wget ในพื้นหลังขณะที่มิเรอร์ไซต์ให้ใช้คำสั่งต่อไปนี้:

wget -b -m www.ever

คุณสามารถทำให้สิ่งนี้ง่ายขึ้นได้ดังต่อไปนี้:

wget -bm www.ever


เข้าสู่ระบบ

หากคุณเรียกใช้คำสั่ง wget ในพื้นหลังคุณจะไม่เห็นข้อความปกติใด ๆ ที่ส่งไปยังหน้าจอ ในการส่งข้อความเหล่านั้นไปยังไฟล์บันทึกเพื่อให้คุณสามารถตรวจสอบความคืบหน้าได้ตลอดเวลาให้ใช้คำสั่ง tail

ในการส่งออกข้อมูลจากคำสั่ง wget ไปยังล็อกไฟล์ให้ใช้คำสั่งต่อไปนี้:

wget -o / path / to / mylogfile www.ever

การย้อนกลับคือไม่ต้องมีการบันทึกเลยและไม่มีการส่งออกไปที่หน้าจอ หากต้องการละเว้นเอาต์พุตทั้งหมดให้ใช้คำสั่งต่อไปนี้:

wget -q www.ever


ดาวน์โหลดจากหลายไซต์

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

wget -i /

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

ด้วยเหตุนี้คุณจึงไม่จำเป็นต้องพิมพ์สิ่งต่อไปนี้ลงในไฟล์อินพุตเนื่องจากใช้เวลานาน:

  • http://www.myfileserver.com/file1.zip
  • http://www.myfileserver.com/file2.zip
  • http://www.myfileserver.com/file3.zip

หากคุณทราบว่า URL พื้นฐานเหมือนกันให้ระบุสิ่งต่อไปนี้ในไฟล์อินพุต:

  • file1.zip
  • file2.zip
  • file3.zip

จากนั้นคุณสามารถระบุ URL พื้นฐานเป็นส่วนหนึ่งของคำสั่ง wget ดังนี้:

wget -B http://www.myfileserver.com -i /

ลองตัวเลือกใหม่

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

wget -t 10 -i /

ใช้คำสั่งดังกล่าวร่วมกับไฟล์ -T สลับเพื่อระบุการหมดเวลาเป็นวินาทีดังนี้:

wget -t 10 -T 10 -i /

คำสั่งดังกล่าวจะลองใหม่ 10 ครั้งและจะเชื่อมต่อเป็นเวลา 10 วินาทีสำหรับแต่ละลิงก์ในไฟล์

นอกจากนี้ยังไม่สะดวกเมื่อคุณดาวน์โหลด 75% ของไฟล์ 4 กิกะไบต์ด้วยการเชื่อมต่อบรอดแบนด์ที่ช้าเพื่อให้การเชื่อมต่อหลุดเท่านั้น หากต้องการใช้ wget เพื่อลองอีกครั้งจากจุดที่หยุดดาวน์โหลดให้ใช้คำสั่งต่อไปนี้:

wget -c www.myfileser

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

wget -w 60 -i /

คำสั่งด้านบนรอ 60 วินาทีระหว่างการดาวน์โหลดแต่ละครั้ง สิ่งนี้มีประโยชน์หากคุณดาวน์โหลดไฟล์จำนวนมากจากแหล่งเดียว

โฮสต์เว็บบางแห่งอาจพบความถี่และบล็อกคุณ คุณสามารถสุ่มช่วงเวลารอเพื่อให้ดูเหมือนว่าคุณไม่ได้ใช้งานโปรแกรมดังต่อไปนี้:

wget --random- รอ -i /

ป้องกันการ จำกัด การดาวน์โหลด

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

wget -q 100m -i /

แพทเทิร์น -q คำสั่งใช้ไม่ได้กับไฟล์เดียว หากคุณดาวน์โหลดไฟล์ที่มีขนาด 2 กิกะไบต์โดยใช้ -q 1000m ไม่หยุดการดาวน์โหลดไฟล์

โควต้าจะใช้เฉพาะเมื่อดาวน์โหลดซ้ำจากไซต์หรือเมื่อใช้ไฟล์อินพุต

ผ่านการรักษาความปลอดภัย

บางไซต์ต้องการให้คุณเข้าสู่ระบบเพื่อเข้าถึงเนื้อหาที่คุณต้องการดาวน์โหลด ใช้สวิตช์ต่อไปนี้เพื่อระบุชื่อผู้ใช้และรหัสผ่าน

wget --user = ชื่อผู้ใช้ของคุณ - รหัสผ่าน

ในระบบผู้ใช้หลายคนเมื่อมีคนเรียกใช้ไฟล์ ps คำสั่งพวกเขาสามารถเห็นชื่อผู้ใช้และรหัสผ่านของคุณ

ตัวเลือกการดาวน์โหลดอื่น ๆ

โดยค่าเริ่มต้น -r สลับการดาวน์โหลดเนื้อหาซ้ำและสร้างไดเร็กทอรีในขณะที่ดำเนินการ หากต้องการดาวน์โหลดไฟล์ทั้งหมดลงในโฟลเดอร์เดียวให้ใช้สวิตช์ต่อไปนี้:

สิ่งที่ตรงกันข้ามคือการบังคับให้สร้างไดเร็กทอรีซึ่งสามารถทำได้โดยใช้คำสั่งต่อไปนี้:

วิธีดาวน์โหลดไฟล์บางประเภท

หากคุณต้องการดาวน์โหลดแบบวนซ้ำจากไซต์ แต่ต้องการดาวน์โหลดเฉพาะไฟล์บางประเภทเช่น MP3 หรือรูปภาพเช่น PNG ให้ใช้ไวยากรณ์ต่อไปนี้:

wget -A &

สิ่งที่ตรงกันข้ามคือการละเว้นไฟล์บางไฟล์ บางทีคุณอาจไม่ต้องการดาวน์โหลดไฟล์ปฏิบัติการ ในกรณีนี้ให้ใช้ไวยากรณ์ต่อไปนี้:

wget -R &

Cliget

มีโปรแกรมเสริมของ Firefox ที่เรียกว่า cliget ในการเพิ่มสิ่งนี้ลงใน Firefox:

  1. ไปที่ https://addons.mozilla.org/en-US/firefox/addon/cliget/ แล้วคลิกไฟล์ เพิ่มใน Firefox ปุ่ม

  2. คลิก ติดตั้ง เมื่อปรากฏขึ้นจากนั้นรีสตาร์ท Firefox

  3. ในการใช้ cliget ไปที่เพจหรือไฟล์ที่คุณต้องการดาวน์โหลดและคลิกขวา เมนูบริบทปรากฏขึ้นเรียกว่า cliget และมีตัวเลือกให้ คัดลอกไปที่ wget คัดลอกไปที่ curl.

  4. คลิก คัดลอกไปที่ wget เปิดหน้าต่างเทอร์มินัลจากนั้นคลิกขวาและเลือก พาสต้า. คำสั่ง wget ที่เหมาะสมจะถูกวางลงในหน้าต่าง

วิธีนี้ช่วยให้คุณไม่ต้องพิมพ์คำสั่งด้วยตัวเอง

สรุป

คำสั่ง wget มีตัวเลือกและสวิตช์มากมาย หากต้องการอ่านหน้าคู่มือสำหรับ wget ให้พิมพ์ดังต่อไปนี้ในหน้าต่างเทอร์มินัล:

ผู้ชาย wget