ยูทิลิตี้ 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:
-
ไปที่ https://addons.mozilla.org/en-US/firefox/addon/cliget/ แล้วคลิกไฟล์ เพิ่มใน Firefox ปุ่ม
-
คลิก ติดตั้ง เมื่อปรากฏขึ้นจากนั้นรีสตาร์ท Firefox
-
ในการใช้ cliget ไปที่เพจหรือไฟล์ที่คุณต้องการดาวน์โหลดและคลิกขวา เมนูบริบทปรากฏขึ้นเรียกว่า cliget และมีตัวเลือกให้ คัดลอกไปที่ wget คัดลอกไปที่ curl.
-
คลิก คัดลอกไปที่ wget เปิดหน้าต่างเทอร์มินัลจากนั้นคลิกขวาและเลือก พาสต้า. คำสั่ง wget ที่เหมาะสมจะถูกวางลงในหน้าต่าง
วิธีนี้ช่วยให้คุณไม่ต้องพิมพ์คำสั่งด้วยตัวเอง
สรุป
คำสั่ง wget มีตัวเลือกและสวิตช์มากมาย หากต้องการอ่านหน้าคู่มือสำหรับ wget ให้พิมพ์ดังต่อไปนี้ในหน้าต่างเทอร์มินัล:
ผู้ชาย wget