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

สิ่งที่ต้องรู้

  • หากต้องการดาวน์โหลดไซต์แบบเต็ม ให้ใช้คำสั่งต่อไปนี้พร้อมกับที่อยู่เว็บของไซต์: wget -r [ที่อยู่เว็บไซต์]
  • ในการรัน wget เป็นคำสั่งพื้นหลังให้ใช้: wget -b [ที่อยู่เว็บไซต์]

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

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

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

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

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

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

ตามหน้าคู่มือ wget สามารถใช้ได้แม้ในขณะที่ผู้ใช้ออกจากระบบ เมื่อต้องการทำเช่นนี้ ให้ใช้คำสั่ง nohup

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

wget www.everydaylinuxuser.com. 

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

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

mkdir ทุกวันlinuxuser
cd ทุกวันlinuxuser
wget www.everydaylinuxuser.com.

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

Linux wget

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

wget -r www.everydaylinuxuser.com 

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

wget -r -l10 www.everydaylinuxuser.com. 

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

wget -r -l inf www.everydaylinuxuser.com 

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

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

ดาวน์โหลดไฟล์ Linux wget

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

wget -r -k www.everydaylinuxuser.com 

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

wget -m www.everydaylinuxuser.com. 

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

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

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

wget -b www.everydaylinuxuser.com. 
กระบวนการพื้นหลัง Linux wget

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

wget -b -m www.everydaylinuxuser.com 

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

wget -bm www.everydaylinuxuser.com. 

การบันทึก

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

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

wget -o /path/to/mylogfile www.everydaylinuxuser.com 

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

wget -q www.everydaylinuxuser.com. 

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

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

wget -i /path/to/inputfile.js 

นอกเหนือจากการสำรองข้อมูลเว็บไซต์ของคุณหรือค้นหาสิ่งที่จะดาวน์โหลดเพื่ออ่านแบบออฟไลน์ ไม่น่าเป็นไปได้ที่คุณจะต้องการดาวน์โหลดทั้งเว็บไซต์ คุณมีแนวโน้มที่จะดาวน์โหลด 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 /path/to/inputfile.dll 

ตัวเลือกลองอีกครั้ง

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

wget -t 10 -i /path/to/inputfile.js 

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

wget -t 10 -T 10 -i /path/to/inputfile.js 

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

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

wget -c www.myfileserver.com/file1.zip 

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

wget -w 60 -i /path/to/inputfile.js 

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

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

wget --random-wait -i /path/to/inputfile.wget - สุ่มรอ -i /path/to/inputfile.js 

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

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

wget -q 100m -i /path/to/inputfile.js 

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

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

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

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

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

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

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

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

wget -nd -r. 

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

wget -x -r. 

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

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

wget -A "*.mp3" -r. 

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

wget -R "*.exe" -r. 

คลิเกต์

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

  1. เยี่ยม https://addons.mozilla.org/en-US/firefox/addon/cliget/ และคลิก เพิ่มใน Firefox ปุ่ม.

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

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

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

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

สรุป

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

ผู้ชาย wget