โฮมเพจ » ทำอย่างไร » สร้างตัวดาวน์โหลดกำหนดการด้วยทักษะการเขียนโปรแกรมน้อย

    สร้างตัวดาวน์โหลดกำหนดการด้วยทักษะการเขียนโปรแกรมน้อย

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

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

    ดาวน์โหลดโดยใช้ Wget

    Wget เป็นแพ็คเกจซอฟต์แวร์ฟรีสำหรับดึงไฟล์โดยใช้ HTTP, HTTPS และ FTP ซึ่งเป็นโปรโตคอลอินเทอร์เน็ตที่ใช้กันอย่างแพร่หลาย มันเป็นเครื่องมือบรรทัดคำสั่งแบบไม่โต้ตอบดังนั้นจึงอาจถูกเรียกได้อย่างง่ายดายจากสคริปต์งาน cron เทอร์มินัลโดยไม่รองรับ X-Windows ฯลฯ.

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

    wget [ตัวเลือก] ... [URL] ...

    คำสั่งนี้จะดาวน์โหลดคู่มือ wget ลงในไดรฟ์ภายในเครื่องของคุณ

    wget http://www.gnu.org/software/wget/manual/wget.pdf

    Linux Cron

    Ubuntu มาพร้อมกับ cron daemon ที่ใช้สำหรับการจัดตารางงานที่จะดำเนินการในช่วงเวลาหนึ่ง Crontab ช่วยให้คุณสามารถระบุการกระทำและเวลาที่ควรดำเนินการ นี่คือวิธีที่คุณจะกำหนดเวลางานโดยใช้เครื่องมือบรรทัดคำสั่ง.

    เปิดหน้าต่างเทอร์มินัลและป้อน crontab -e.

    แต่ละส่วนใน crontab จะถูกคั่นด้วยช่องว่างโดยที่ส่วนสุดท้ายจะมีช่องว่างหนึ่งช่องขึ้นไป รายการ cron ประกอบด้วยนาที (0-59), ชั่วโมง (0-23, 0 = เที่ยงคืน), วัน (1-31), เดือน (1-12), วันธรรมดา (0-6, 0 = วันอาทิตย์), คำสั่ง รายการที่สามในการดาวน์โหลด crontab ด้านบน wget.pdf เวลา 2 นาฬิกา รายการแรก (0) และรายการที่สอง (2) หมายถึง 2:00 รายการที่สามถึงห้า (*) หมายถึงเวลาใด ๆ ของวันเดือนหรือสัปดาห์ รายการสุดท้ายคือคำสั่ง wget เพื่อดาวน์โหลด wget.pdf จาก URL ที่ระบุ.

    นั่นเป็นพื้นฐานใน wget และวิธีการทำงานของ Cron ลองยกเค้าที่ตัวอย่างชีวิตจริงเกี่ยวกับวิธีกำหนดเวลาการดาวน์โหลด.

    ดาวน์โหลดกำหนดการ

    เรากำลังจะดาวน์โหลด Firefox 3.6 เวลา 2.00 น. เนื่องจาก ISP ของเราให้ข้อมูลจำนวน จำกัด เท่านั้นเราจึงต้องหยุดการดาวน์โหลดเวลา 8.00 น. นี่คือลักษณะการตั้งค่า.

    ไม่ต้องสนใจ 2 รายการแรกใน crontab ด้านบน คำสั่งที่สามและสี่เป็นเพียง 2 คำสั่งที่คุณต้องการ คำสั่งที่สามตั้งค่างานที่จะดาวน์โหลด Firefox เวลา 2 AM:

    [รหัส]
    0 2 * * * wget -c http://download.mozilla.org/?product=firefox-3.6.6&os=win&lang=th-GB
    [/รหัส]

    ตัวเลือก -c แสดงว่า wget ควรทำการดาวน์โหลดต่อไปหากยังไม่เสร็จสมบูรณ์.

    คำสั่งที่สี่จะหยุด wget ที่ 8 am 'Killall' เป็นคำสั่ง unix ที่ฆ่ากระบวนการตามชื่อ.

    [รหัส]
    0 8 * * * killall wget
    [/รหัส]

    Killall wget บอก Ubuntu ให้หยุด wget จากการดาวน์โหลดไฟล์เวลา 8.00 น.

    คำสั่ง wget ที่มีประโยชน์อื่น ๆ

    1. การระบุไดเรกทอรีเพื่อดาวน์โหลดไฟล์

    [รหัส]
    wget -output-document = / home / zainul / ดาวน์โหลด / wget manual.pdf http://www.gnu.org/software/wget/manual/wget.pdf
    [/รหัส]

    ตัวเลือก -output-document ช่วยให้คุณระบุไดเรกทอรีและชื่อของไฟล์ที่คุณดาวน์โหลด

    2. การดาวน์โหลดเว็บไซต์

    wget ยังสามารถดาวน์โหลดเว็บไซต์ได้อีกด้วย.

    [รหัส]
    wget -m http://www.google.com/profiles/zainul.franciscus
    [/รหัส]

    คำสั่งดังกล่าวจะดาวน์โหลดหน้าเว็บโปรไฟล์ Google ทั้งหมดของฉัน ตัวเลือก '-m' บอกให้ wget ดาวน์โหลดภาพ 'mirror' ของ URL ที่ระบุ.

    อีกหนึ่งตัวเลือกที่สำคัญคือการบอกให้ทราบว่าควรมีลิงก์จำนวนเท่าใดที่ควรติดตามเมื่อดาวน์โหลดเว็บไซต์.

    [รหัส]
    wget -r -l1 http://www.google.com/profiles/zainul.franciscus
    [/รหัส]

    คำสั่ง wget ข้างต้นใช้สองตัวเลือก ตัวเลือกแรก '-r' บอกให้ wget ทำการดาวน์โหลดเว็บไซต์ที่ระบุซ้ำ ตัวเลือกที่สอง '-l1' บอกว่าจะได้รับลิงก์ระดับแรกจากเว็บไซต์ที่ระบุเท่านั้น เราสามารถตั้งค่าได้ถึงสามระดับ '-l2' และ '-l3'.

    3. ไม่สนใจรายการหุ่นยนต์

    เว็บมาสเตอร์ดูแลไฟล์ข้อความชื่อ Robot.txt 'Robot.txt' รักษารายการ URL ที่โปรแกรมรวบรวมข้อมูลหน้าเว็บเช่น wget ไม่ควรรวบรวมข้อมูล เราสามารถบอกได้ว่าอย่าเพิกเฉยตัวเลือก 'Robot.txt' ด้วยตัวเลือก '-erobots = off' คำสั่งต่อไปนี้บอกให้ wget ดาวน์โหลดหน้าแรกของโปรไฟล์ google ของฉันและข้าม 'Robot.txt.

    [รหัส]
    wget -erobots = off http://www.google.com/profiles/zainul.franciscus
    [/รหัส]

    อีกตัวเลือกที่มีประโยชน์คือ -U ตัวเลือกนี้จะปกปิดเป็นเบราว์เซอร์ รับทราบว่าการปิดบังแอปพลิเคชันเป็นแอปพลิเคชันอื่นอาจละเมิดข้อกำหนดและบริการของผู้ให้บริการเว็บ.

    [รหัส]
    wget -erobots = off -U Mozilla http://www.google.com/profiles/zainul.franciscus
    [/รหัส]

    ข้อสรุป

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

    [รหัส]
    คน $ wget
    [/รหัส]

    เพื่อทำความเข้าใจตัวเลือกอื่น ๆ ที่เราสามารถใช้กับ wget.

    การเชื่อมโยง

    คู่มือการใช้ Wget
    วิธีรวมไฟล์ที่ดาวน์โหลดมาสองไฟล์เมื่อ wget ล้มเหลวครึ่งทาง
    Linux QuickTip: การดาวน์โหลดและการไม่แยกตัวในขั้นตอนเดียว