Buat sumber daya unduhan halaman wget pada domain yang berbeda


16

Bagaimana Anda menggunakan wget untuk mengunduh seluruh situs (domain A) ketika sumber dayanya ada di domain lain, (domain B)?
Saya sudah mencoba:
wget -r --level=inf -p -k -E --domains=domainA,domainB http://www.domainA


Wow! Tidak ada yang setelah semua ini?
Parsa

Alasan mengapa perintah itu tidak berhasil adalah karena menggunakan --domains dengan sendirinya tidak --span-hostsmenyala. Menambahkan --span-hostsakan memecahkan masalah. : |
Parsa

Jawaban:


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

UPDATE: Saya ingat perintah di atas bekerja untuk saya di masa lalu (itu 2010 dan saya menggunakan Alat GNU untuk Windows saat itu); namun saya harus mengubahnya ke yang berikut ketika saya ingin menggunakannya hari ini:

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

Singkatan untuk itu adalah: 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>

Manual Wget GNU: https://www.gnu.org/software/wget/manual/wget.html


Saya mendapatkan: wget: --span-hosts: boolean tidak valid domainA,domainB'; use pada 'atau `off'. Setelah berubah menjadi aktif, itu tidak berhasil.
Matthew Flaschen

@ MatthewFlaschen Apa yang saya tulis di sini bekerja untuk saya. Bisakah Anda memberikan argumen yang Anda gunakan?
Parsa

Saya tidak memiliki perintah persis yang saya jalankan sebelumnya. Namun, saya memiliki masalah yang sama dengan: wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org Saya menggunakan GNU Wget 1.13.4 di Debian.
Matthew Flaschen

3
Coba --span-hosts --domains=example.org,iana.org- saya pikir --span-hostsharus boolean, dan kemudian Anda gunakan --domainsuntuk menentukan host mana yang akan span.
Eric Mill

Konklone, --span-hosts adalah boolean dari 1.12 dan kemudian, saya tidak tahu itu. @ MatthewFlaschen, saya memperbarui jawabannya. Ngomong-ngomong, itu masih bekerja pada 1.11 dan sebelumnya, jika Anda menggunakan GNU Tools untuk Windows.
Parsa

1

wget --recursive --level = inf --page-requisites --convert-links --html-extension -rH -DdomainA, domainB domainA


Ini sebagian berhasil. Namun, untuk beberapa alasan, sepertinya tidak berfungsi jika URL (pada akhirnya) adalah redirect. Juga, ia mengunduh tautan juga, bukan hanya syarat halaman. Juga, -r dan --recursive sama.
Matthew Flaschen


-1

Pertimbangkan menggunakan HTTrack . Ini memiliki lebih banyak opsi saat merayapi konten di domain lain daripada wget. Menggunakan wget dengan --span-hosts, --domains dan --accept di mana tidak cukup untuk kebutuhan saya tetapi HTTrack melakukan pekerjaan. Saya ingat bahwa menetapkan batas pengarahan ulang pada domain lain sangat membantu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.