wget memiliki opsi untuk -np
menonaktifkan file dari direktori induk mana pun. Saya membutuhkan sesuatu yang serupa tetapi sedikit lebih fleksibel. Mempertimbangkan:
www.foo.com/bar1/bar2/bar3/index.html
Saya ingin mendapatkan segalanya tetapi tidak "lebih tinggi" (dalam hierarki pohon) daripada bar2
(!). Jadi bar2
juga harus diambil tetapi tidak bar1
.
Apakah ada cara untuk membuat wget lebih selektif?
Latar Belakang: Saya mencoba membuat mirror situs web, dengan struktur logis yang serupa - titik awal, lalu naik, lalu turun. Jika ada alat lain selain wget
, lebih cocok untuk tata letak seperti itu, beri tahu saya juga.
Memperbarui
Atau alih-alih menentukan kedalaman yang mungkin, mungkin sesuatu seperti "tidak ada orang tua, kecuali mereka cocok dengan URL ini atau itu".
Perbarui 2
Ada beberapa struktur di server, bukan? Anda dapat memvisualisasikannya sebagai pohon. Jadi biasanya dengan "--tidak ada orang tua" Anda mulai dari beberapa titik A dan hanya turun.
Harapan saya, adalah kemampuan untuk naik - diekspresikan dengan mengatakan, diizinkan naik ke X node, atau (yang setara 100%) sehingga diizinkan naik ke B node (di mana jarak BA = X).
Dalam semua kasus, aturan untuk turun tetap seperti yang ditentukan oleh pengguna (misalnya - turun hanya berdasarkan level Y).
Bagaimana cara menyimpannya? Sebenarnya itu bukan pertanyaan yang sebenarnya - wget
secara default membuat ulang struktur server, tidak ada yang perlu ditakutkan, atau tidak perlu untuk memperbaiki apa pun. Jadi, dalam 2 kata - seperti biasa.
Perbarui 3
Struktur direktori di bawah ini - mari kita asumsikan bahwa dalam setiap direktori hanya ada satu file, dalam R - R.html dan seterusnya. Ini tentu saja disederhanakan karena Anda dapat memiliki lebih dari satu halaman.
R
/ \
B G
/ \
C F
/ \
A D
/
E
A (A.html) adalah titik awal saya, X = 2 (jadi B adalah simpul level paling atas yang ingin saya ambil). Dalam contoh khusus ini berarti mengambil semua halaman kecuali R.html dan G.html. A.html disebut "titik awal" karena saya harus memulainya, bukan dari B.
Perbarui 4
Penamaan digunakan dari Pembaruan 3.
wget OPSI www.foo.com/B/C/A/A.html
Pertanyaannya adalah apa saja pilihan untuk mendapatkan semua halaman dari direktori B dan di bawah (mengetahui bahwa Anda harus mulai dari A.html).
bar2
direktori dan semua isinya. Jika bukan itu, mohon klarifikasi.
bar2
mengambil tetapi tidakbar1
? Di manabar2
akan tinggal? Bagaimana jika dua atau lebih dir yang tidak Anda inginkan memiliki subdirama bernama identik, haruskah kontennya digabungkan? Ini hampir pasti lebih mudah untuk hanya mendapatkan seluruh situs sialan dan kemudian memangkas / memindahkan hal-hal di sekitar yang Anda inginkan.