ทำให้ทรัพยากรของหน้าดาวน์โหลด wget ในโดเมนอื่น


14

คุณใช้ wget เพื่อดาวน์โหลดทั้งเว็บไซต์ (โดเมน A) เมื่อทรัพยากรอยู่ในโดเมนอื่น (โดเมน B) ได้อย่างไร
ฉันได้ลองแล้ว:
wget -r --level=inf -p -k -E --domains=domainA,domainB http://www.domainA


ว้าว! ไม่มีใครหลังจากตลอดเวลานี้?
Parsa

เหตุผลที่สั่งไม่ทำงานเป็นเพราะใช้--domainsด้วยตัวเองไม่ได้เปิด--span-hostsบน การเพิ่ม--span-hostsจะช่วยแก้ปัญหาได้ : |
Parsa

คำตอบ:


13
wget --recursive --level=inf --page-requisites --convert-links --html-extension \
     --span-hosts=domainA,domainB url-on-domainA

UPDATE:ฉันจำคำสั่งข้างต้นได้ผลสำหรับฉันในอดีต (นั่นคือปี 2010 และฉันใช้GNU Tools สำหรับ Windows มาก่อน) อย่างไรก็ตามฉันต้องเปลี่ยนเป็นสิ่งต่อไปนี้เมื่อฉันต้องการใช้มันในวันนี้:

wget --recursive --level=inf --page-requisites --convert-links \
     --adjust-extension --span-hosts --domains=domainA,domainB domainA

การจดชวเลขสำหรับสิ่งนั้นจะเป็น: wget -rEDpkH -l inf domainA,domainB domainA

  • -r = --recursive
  • -l <depth> = --level=<depth>
  • -E = --adjust-extension
  • -p = --page-requisites
  • -K = --backup-converted
  • -k = --convert-links
  • -D <domain-list> = --domain-list=<domain-list>
  • -H = --span-hosts
  • -np = --no-parent
  • -U <agent-string> = --user-agent=<agent-string>

คู่มือ GNU Wget: https://www.gnu.org/software/wget/manual/wget.html


ฉันได้รับ: wget: - ช่วงโฮสต์ -: บูลีนไม่ถูกต้องdomainA,domainB'; use ใน 'หรือ `ปิด' หลังจากเปลี่ยนเป็นเปิดแล้วจะไม่ทำงาน
Matthew Flaschen

@MatthewFlaschen สิ่งที่ฉันเขียนที่นี่ได้ผลกับฉัน คุณสามารถให้ข้อโต้แย้งที่คุณใช้?
Parsa

ฉันไม่ได้มีคำสั่งที่แน่นอนฉันวิ่งมาก่อน อย่างไรก็ตามฉันมีปัญหาเดียวกันกับ: wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org ฉันใช้ GNU Wget 1.13.4 บนเดเบียน
Matthew Flaschen

3
ลอง--span-hosts --domains=example.org,iana.org- ฉันคิดว่า--span-hostsต้องเป็นบูลีนแล้วคุณใช้--domainsเพื่อระบุโฮสต์ที่จะขยาย
Eric Mill

Konklone - ช่วงโฮสต์เป็นบูลีนตั้งแต่ 1.12 ขึ้นไปฉันไม่รู้ @ MatthewFlaschen ฉันอัพเดตคำตอบแล้ว โดยวิธีการนี้จะยังคงใช้งานได้ใน 1.11 และก่อนหน้านี้หากคุณใช้ GNU Tools สำหรับ Windows
Parsa

1

wget --recursive --level = inf - page-requisites --convert-links --html-extension -rH -DdomainA, โดเมน B โดเมน A


ส่วนนี้ใช้งานได้ อย่างไรก็ตามด้วยเหตุผลบางอย่างดูเหมือนว่าจะไม่ทำงานหาก URL (ตอนท้าย) เป็นการเปลี่ยนเส้นทาง นอกจากนี้ยังดาวน์โหลดลิงค์ด้วยไม่ใช่แค่ข้อกำหนดของเพจ นอกจากนี้ -r และ - recursive ก็เหมือนกัน
Matthew Flaschen

0
wget --page-requisites --convert-links --adjust-extension --span-hosts --domains domainA,domainB domainA

คุณอาจต้องละเว้น robots.txt (หมายเหตุนี่อาจเป็นการละเมิดข้อกำหนดในการให้บริการและคุณควรดาวน์โหลดขั้นต่ำที่จำเป็น) ดูhttps://www.gnu.org/software/wget/manual/wget.html#Robot-Exclusion


-1

พิจารณาใช้HTTrack มีตัวเลือกเพิ่มเติมเมื่อรวบรวมเนื้อหาในโดเมนอื่นที่ไม่ใช่ wget ใช้ wget กับ - ช่วงโฮสต์ - โดเมนและ - ยอมรับที่ไม่เพียงพอสำหรับความต้องการของฉัน แต่ HTTrack ทำงานได้ ฉันจำได้ว่าการ จำกัด การกำหนดทิศทางใหม่ในโดเมนอื่น ๆ ช่วยได้มาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.