Ada direktori HTTP online yang dapat saya akses. Saya telah mencoba mengunduh semua sub-direktori dan file melalui wget
. Tetapi, masalahnya adalah bahwa ketika wget
mengunduh sub-direktori itu mengunduh index.html
file yang berisi daftar file dalam direktori itu tanpa mengunduh file itu sendiri.
Apakah ada cara untuk mengunduh sub-direktori dan file tanpa batas kedalaman (seolah-olah direktori yang ingin saya unduh hanyalah folder yang ingin saya salin ke komputer saya).
-R
suka-R css
mengecualikan semua file CSS, atau menggunakan-A
suka-A pdf
hanya mengunduh file PDF.When downloading from Internet servers, consider using the ‘-w’ option to introduce a delay between accesses to the server. The download will take a while longer, but the server administrator will not be alarmed by your rudeness.
robots.txt
file yang tidak mengizinkan pengunduhan file dalam direktori, ini tidak akan berfungsi. Dalam hal ini Anda perlu menambahkan-e robots=off
. Lihat unix.stackexchange.com/a/252564/10312Saya bisa mendapatkan ini berfungsi berkat posting ini menggunakan VisualWGet . Ini bekerja sangat baik untuk saya. Bagian yang penting adalah memeriksa
-recursive
bendera (lihat gambar).Ditemukan juga bahwa
-no-parent
flag itu penting, dan itu juga akan mencoba mengunduh semuanya.sumber
--no-parent
lakukan?Dari
man wget
'-r' '--recursive' Nyalakan pengambilan rekursif. Lihat Unduhan Rekursif, untuk lebih jelasnya. Kedalaman maksimum default adalah 5.
'-np' '--no-parent' Jangan pernah naik ke direktori induk ketika mengambil secara rekursif. Ini adalah opsi yang berguna, karena menjamin bahwa hanya file di bawah hierarki tertentu yang akan diunduh. Lihat Batas Berbasis Direktori, untuk lebih jelasnya.
'-nH' '--no-host-directories' Menonaktifkan pembuatan direktori yang diawali dengan host. Secara default, menjalankan Wget dengan '-r http://fly.srk.fer.hr/ ' akan membuat struktur direktori yang dimulai dengan fly.srk.fer.hr/. Opsi ini menonaktifkan perilaku tersebut.
'--cut-dirs = number' Abaikan komponen direktori angka. Ini berguna untuk mendapatkan kontrol yang baik atas direktori tempat pengambilan rekursif akan disimpan.
Ambil, misalnya, direktori di ' ftp://ftp.xemacs.org/pub/xemacs/ '. Jika Anda mengambilnya dengan '-r', itu akan disimpan secara lokal di bawah ftp.xemacs.org/pub/xemacs/. Sementara opsi '-nH' dapat menghapus bagian ftp.xemacs.org/, Anda masih terjebak dengan pub / xemacs. Di sinilah '--cut-dirs' berguna; itu membuat Wget tidak "melihat" nomor komponen direktori jarak jauh. Berikut adalah beberapa contoh cara kerja opsi '--cut-dirs'.
Tidak ada pilihan -> ftp.xemacs.org/pub/xemacs/ -nH -> pub / xemacs / -nH --cut-dirs = 1 -> xemacs / -nH --cut-dirs = 2 ->.
--cut-dirs = 1 -> ftp.xemacs.org/xemacs/ ... Jika Anda hanya ingin menyingkirkan struktur direktori, opsi ini mirip dengan kombinasi '-nd' dan '-P'. Namun, tidak seperti '-nd', '--cut-dirs' tidak kalah dengan subdirektori — misalnya, dengan '-nH --cut-dirs = 1', beta / subdirektori akan ditempatkan ke xemacs / beta, karena orang akan berharap.
sumber
wget
adalah sumber daya yang tak ternilai dan sesuatu yang saya gunakan sendiri. Namun terkadang ada karakter dalam alamat yangwget
mengidentifikasi kesalahan sintaksis. Saya yakin ada perbaikan untuk itu, tetapi karena pertanyaan ini tidak menanyakan secara spesifik tentangwget
saya pikir saya akan menawarkan alternatif bagi orang-orang yang pasti akan tersandung pada halaman ini mencari perbaikan cepat tanpa perlu kurva belajar.Ada beberapa ekstensi peramban yang dapat melakukan ini, tetapi sebagian besar memerlukan pemasangan pengelola unduhan, yang tidak selalu gratis, cenderung merusak pemandangan, dan menggunakan banyak sumber daya. Inilah salah satu yang tidak memiliki kekurangan ini:
"Unduh Master" adalah ekstensi untuk Google Chrome yang berfungsi bagus untuk mengunduh dari direktori. Anda dapat memilih untuk memfilter jenis file mana yang akan diunduh, atau mengunduh seluruh direktori.
https://chrome.google.com/webstore/detail/download-master/dljdacfojgikogldjffnkdcielnklkce
Untuk daftar fitur terbaru dan informasi lainnya, kunjungi halaman proyek di blog pengembang:
http://monadownloadmaster.blogspot.com/
sumber
Anda dapat menggunakan lftp, pisau unduh pasukan swish jika Anda memiliki file yang lebih besar yang dapat Anda tambahkan
--use-pget-n=10
ke perintahsumber
Anda dapat menggunakan addon Firefox ini untuk mengunduh semua file di Direktori HTTP.
https://addons.mozilla.org/en-US/firefox/addon/http-directory-downloader/
sumber
Tidak ada Perangkat Lunak atau Plugin yang diperlukan!
(hanya dapat digunakan jika Anda tidak perlu deptch rekursif)
Gunakan bookmarklet. Seret tautan ini di bookmark, lalu edit dan tempel kode ini:
dan buka halaman (dari mana Anda ingin mengunduh file), dan klik bookmarklet itu.
sumber
wget umumnya bekerja dengan cara ini, tetapi beberapa situs mungkin memiliki masalah dan mungkin membuat terlalu banyak file html yang tidak perlu. Untuk membuat pekerjaan ini lebih mudah dan untuk mencegah pembuatan file yang tidak perlu, saya membagikan skrip getwebfolder saya, yang merupakan skrip linux pertama yang saya tulis untuk diri saya sendiri. Skrip ini mengunduh semua konten folder web yang dimasukkan sebagai parameter.
Ketika Anda mencoba mengunduh folder web terbuka oleh wget yang berisi lebih dari satu file, wget mengunduh file bernama index.html. File ini berisi daftar file folder web. Skrip saya mengonversi nama file yang ditulis dalam file index.html ke alamat web dan mengunduhnya dengan jelas dengan wget.
Diuji di Ubuntu 18.04 dan Kali Linux, Ini dapat bekerja di distro lain juga.
Penggunaan:
ekstrak file getwebfolder dari file zip yang disediakan di bawah ini
chmod +x getwebfolder
(hanya untuk pertama kali)./getwebfolder webfolder_URL
seperti
./getwebfolder http://example.com/example_folder/
Unduh Tautan
Detail di blog
sumber