wget เป็นเครื่องมือที่มีประโยชน์มากในการดาวน์โหลดข้อมูลบนอินเทอร์เน็ตได้อย่างรวดเร็ว แต่ฉันสามารถใช้มันเพื่อดาวน์โหลดจากโฮสต์ไซต์เช่น FreakShare, IFile.it Depositfiles, อัปโหลด, Rapidshare หรือไม่ ถ้าเป็นเช่นนั้นฉันจะทำอย่างไร
wget เป็นเครื่องมือที่มีประโยชน์มากในการดาวน์โหลดข้อมูลบนอินเทอร์เน็ตได้อย่างรวดเร็ว แต่ฉันสามารถใช้มันเพื่อดาวน์โหลดจากโฮสต์ไซต์เช่น FreakShare, IFile.it Depositfiles, อัปโหลด, Rapidshare หรือไม่ ถ้าเป็นเช่นนั้นฉันจะทำอย่างไร
คำตอบ:
เว็บไซต์ประเภทนี้พยายามทำให้ไม่ยากที่จะใช้เว็บเบราว์เซอร์กราฟิกเพราะถ้าคุณใช้ wget คุณจะพลาดโฆษณาทั้งหมดที่จ่ายแบนด์วิดท์
บางเว็บไซต์จะไม่ทำให้การตรวจสอบที่ทันสมัยและสามารถหลอกได้อย่างง่ายดาย: wget บอกจะแกล้งทำเป็นว่ามันจริงๆ Mozillaและว่ามันมาจากการดาวน์โหลดเว็บไซต์
wget --user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1' \
--referer=http://downloadsite.example.com/download-page-url
http://downloadsite.example.com/download-page-url/filename.ext`
ไซต์ส่วนใหญ่ที่ตรวจสอบจะทำให้คุณไม่ต้องไปไหน--user-agent=Mozilla
และ--referer
ตั้งค่าเป็น URL ของไฟล์ที่คุณกำลังดาวน์โหลด
สำหรับบางเว็บไซต์คุณอาจต้องส่งออกคุกกี้ของเว็บเบราว์เซอร์และส่ง--load-cookies
ต่อเพื่อ wget ณ จุดนี้การใช้ wget เริ่มทำงานได้ดีกว่าการดาวน์โหลดด้วยตนเอง วิธีที่ดีที่สุดที่สามารถทำงานตลอดเวลา แต่ต้องมีการเข้ารหัสสำหรับแต่ละเว็บไซต์คือการใช้กรอบการทำงานอัตโนมัติเบราว์เซอร์เช่นซีลีเนียมหรือWatir
ดูเพิ่มเติมอัตโนมัติร้องขอเว็บโดยใช้ curl?
Zippyshare
ลิงค์: stackoverflow.com/a/21100640/1533054
วิธีการนี้สร้างขึ้นในคำตอบที่กิลส์ อย่างที่เขาพูดเคล็ดลับคือการทำให้เซิร์ฟเวอร์คิดว่าการร้องขอนั้นทำจากเบราว์เซอร์และเพื่อให้เกิดขึ้นคุณต้องมีสองสิ่ง:
ต่อไปนี้เป็นภาพหน้าจอที่อธิบายตำแหน่งที่คุณสามารถรับแต่ละรายการ
ตอนนี้เปิด terminal ของคุณและใช้คำสั่งต่อไปนี้ (แทนที่รายการที่จำเป็น):
wget <download_link> \
--referer='<referrer>' \
--cookies=off --header "Cookie: JSESSIONID=<session_id>" \
--user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1'
ตัวอย่าง:
wget http://www16.zippyshare.com/d/29887835/8895183/hello.txt \
--referer='http://www16.zippyshare.com/v/29887835/file.html' \
--cookies=off --header "Cookie: JSESSIONID=26458C0893BF69F88EB5743D74FE0F8C" \
--user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1'
หมายเหตุ: ในคำสั่งมันreferer
ไม่จริงreferrer
ฉันต้องการคำตอบที่สมบูรณ์แบบฉันใช้เคล็ดลับต่อไปนี้ในการดาวน์โหลดภาพยนตร์สำหรับเด็กจาก Turbobit:
แทนคำตอบ SESSION_ID จากด้านบนคุณต้องค้นหา "compid" จากแท็บคุกกี้ของ FIREBUG:
หลังจากนั้นคำสั่งสำหรับระบบฝังตัวเดเบียนของฉันนั้นง่ายมาก:
wget --referer='http://http://turbobit.net/download/free/yilmacr4e351' --cookies=off --header "Cookie: compid=c9255510c34624435292d8a0e7e405be66aa01f9%7ED01343F87AB53A2C38D957A564DA1D55" --user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1' http://turbobit.net/download/redirect/B3EDACDA9B899937A149D5AAB6662327/yilmacr4e351/Ters.Yuz.2015.1080P.WEBDL.TR.EN.mkv &
ฉันสามารถปิดเครื่องคอมพิวเตอร์ได้แล้วตอนนี้ :)