`tidak ada file atau direktori` saat mirroring dengan wget

1

Saya mencoba menyimpan versi lokal dari clojure docs dengan wget perintah:

wget --user-agent=firefox --ignore-length -c -km 
"http://clojuredocs.org/quickref/Clojure Core"`

tapi terus dapatkan no such file or directory ketika mencapai beberapa tautan seperti http://clojuredocs.org/clojure_core/clojure.core/rem yang jelas ada karena Anda bisa sampai di sana dengan browser. Saya kira ini masalah dengan caranya wget sedang membangun / menyatukan jalan. Bagaimana kamu memperbaiki ini? . Saya sudah mencoba opsi lain seperti --user-agent dan --ignore-length tapi saya tetap mendapatkan hasil yang sama seperti yang terlihat di bawah ini (Anda harus membuka gambar untuk melihat pesan dengan benar).

enter image description here

Ini tampaknya menjadi masalah dengan mirroring karena perintah:

wget http://clojuredocs.org/clojure_core/clojure.core/rem

bekerja dengan baik.

gebby
sumber
http://clojuredocs.org/clojure_core dapatkan disimpan sebagai file bernama clojure_core. Itu sebabnya tidak ada folder clojure_core bisa dibuat. Mungkin Anda bisa mengatasinya -nd yang tidak membuat hierarki direktori.
mpy
Ya, saya melihat itu. Ini berfungsi ketika saya membuat folder clojure_core pertama agar ada file lain yang bernama clojure_core akan diubah namanya menjadi clojure_core1 dan seterusnya. Pertanyaannya adalah, mengapa itu dilakukan? Saya sudah mencoba -nd opsi dan itu hanya menyebabkan masalah lain, misal macet dalam satu lingkaran mencoba mengunduh robots.txt Berkali-kali.
gebby

Jawaban:

3

Masalah Anda berasal dari perilaku wget untuk menyimpan URL http://clojuredocs.org/clojure_core ke file bernama ./clojuredocs.org/clojure_core, tetapi URL http://clojuredocs.org/clojure_core/ (perhatikan trailing slash) ke file bernama ./clojuredocs.org/clojure_core/index.html.

Setelah itu mengajukan ./clojuredocs.org/clojure_core dibuat, mengikuti unduhan mis. http://clojuredocs.org/clojure_core/something ditakdirkan untuk gagal, karena wget tidak dapat membuat direktori ./clojuredocs.org/clojure_core lagi.

Ini dilaporkan sebagai bug # 29647 di GNU Wget Bugtracker .

Dengan disediakan tambalan (yang jelas tidak menjadikan kode sumber resmi) masalah ini hilang dan wget terpaksa membuat direktori terlebih dahulu. Jadi, pengunduhan dapat dilanjutkan.

Namun, http://clojuredocs.org/clojure_core disimpan sebagai ./clojuredocs.org/clojure_core.1, tidak seperti ./clojuredocs.org/clojure_core/index.html.

Saya tidak dapat menilai apakah tautan-konverter ( -k ) cukup pintar untuk membuat tautan dalam salinan lokal cermin ini berfungsi ... Saya menghentikan unduhan setelah beberapa menit. (Aku terlalu tidak sabar ;) )

mpy
sumber
Saya tidak beruntung dengan tambalan itu. Ini memperkenalkan metode yang tidak ditentukan yang memecah bangunan. Situs itu memiliki masalah besar, Anda tahu benar membatalkan unduhan. Ini membutuhkan banyak baby sitting dan intervensi manual. Saya menyerah juga setelah sekitar 20MB. Saya harus bekerja dengan itu. Terima kasih atas jawabannya, saya tidak akan melihat bugtracker.
gebby