Pertanyaan Menggunakan wget untuk mencerminkan situs web dan semuanya dari tingkat pertama situs eksternal


Saya perlu mencerminkan situs web tertentu (semua laman di bawah domain tertentu) laman apa pun (tetapi tidak seluruh situs) yang ditautkan oleh situs web.

Saya bingung tentang cara melakukan ini

wget -r --level=inf (atau beberapa varian lainnya) akan mencerminkan situs.

wget -r -H --level=1 akan mendapatkan semua tautan (dari semua domain) ke tingkat pertama.

Ada yang punya ide tentang bagaimana saya bisa menggabungkan ini, untuk mendapatkan seluruh situs utama dan satu tingkat jauh ke dalam situs eksternal. Saya telah membenturkan kepala saya melawan manual sepanjang sore.

Terima kasih


4
2017-09-14 14:51


asal




Jawaban:


Sayangnya ini tidak mungkin dilakukan dengan wget (dan upaya untuk memecahkannya dengan -H -l 1 tidak melakukan apa yang Anda harapkan). Apa yang kamu inginkan adalah HTTrack.

httrack --ext-depth=1 http://example.com

Ini juga bisa disingkat httrack %e1 http://example.com. Perhatikan bahwa HTTrack menghitung level mulai dari 1, bukan 0, sehingga tidak akan mengikuti tautan yang ditemukan di halaman eksternal kecuali Anda menambah kedalamannya.


6
2018-01-31 01:41





Saya akan menggunakan kombinasi wget -m -k -K -p http://example.com && wget -r -k -K -H -N -l 1 http://example.com.

Tentang dua perintah: wget -m -k -K -p http://example.com akan mencerminkan (-m = -r --level = inf -N), mengonversi tautan ke mirror lokal Anda (-k), mencadangkan file asli sebelum dikonversi (-K) dan mengunduh semua prasyarat untuk tampilan yang tepat cermin (-p).

Setelah itu perintah kedua wget -r -k -K -H -N -l 1 http://example.com pada dasarnya akan melakukan hal yang sama tetapi hanya untuk satu level yang mencakup semua host dan akan memeriksa cap waktu dengan -N, jadi Anda tidak akan mengunduh file yang sama lagi. Saya tidak menyertakan opsi -p di sini, karena bisa mengunduh sangat banyak ...


3
2018-03-15 17:57