Bagaimana cara mengunduh daftar file dari server file?

10

Bagaimana saya mengunduh daftar file dari server file seperti ini http://www.apache.org/dist/httpd/binaries/ ?

Saya kira saya bisa menggunakan wget tetapi kemudian mencoba untuk mendapatkan semua tautan dan file html juga. Apakah ada alat yang lebih baik untuk mencapai ini?

BinaryMisfit
sumber
hanya untuk memperjelas pertanyaan Anda: Anda hanya ingin daftar file yang dapat diunduh dari server, bukan file itu sendiri (belum)?
akira
Dengan cara apa perintah seperti `wget --no-verbose --spider --no-directories --recursive --level = 2 apache.org/dist/httpd/binaries` tidak berfungsi untuk Anda? Jika Anda bisa lebih spesifik yang mungkin membantu
DaveParillo

Jawaban:

12

Anda dapat menentukan ekstensi file apa yang wgetakan diunduh saat merayapi halaman:

wget -r -A zip,rpm,tar.gz www.site.com/startpage.html

ini akan melakukan rekursif pencarian dan hanya men-download file dengan .zip, .rpm, dan .tar.gzekstensi.

John T
sumber
8

seandainya Anda benar-benar hanya ingin daftar file di server tanpa mengambilnya (belum):

%> wget -r -np --spider http://www.apache.org/dist/httpd/binaries/ 2> & 1 | awk -f filter.awk | uniq

sementara 'filter.awk' terlihat seperti ini

/^--.*-- http: \ / \ /.* [^ \ /] $ / {u = $ 3; }
/ ^ Panjang: [[: digit:]] + / {print u; }

maka Anda mungkin harus menyaring beberapa entri seperti

"http://www.apache.org/dist/httpd/binaries/?C=N;O=D"
akira
sumber
0

Ref: http://blog.incognitech.in/download-files-from-apache-server-listing-directory/

Anda dapat menggunakan perintah berikut:

wget --execute="robots = off" --mirror --convert-links --no-parent --wait=5 <website-url>

Penjelasan dengan masing-masing opsi

  • wget: Perintah Sederhana untuk membuat permintaan CURL dan mengunduh file jarak jauh ke mesin lokal kami.
  • --execute="robots = off": Ini akan mengabaikan file robots.txt saat merayapi halaman. Akan sangat membantu jika Anda tidak mendapatkan semua file.
  • --mirror: Opsi ini pada dasarnya akan mencerminkan struktur direktori untuk URL yang diberikan. Ini adalah jalan pintas -N -r -l inf --no-remove-listingyang artinya:
    • -N: jangan mengambil kembali file kecuali yang lebih baru dari lokal
    • -r: tentukan unduhan rekursif
    • -l inf: kedalaman rekursi maksimum (inf atau 0 untuk tak terbatas)
    • --no-remove-listing: jangan hapus file '.listing'
  • --convert-links: buat tautan dalam HTML atau CSS yang diunduh ke file lokal
  • --no-parent: jangan naik ke direktori induk
  • --wait=5: tunggu 5 detik antara pengambilan. Sehingga kami tidak membasmi server.
  • <website-url>: Ini adalah url situs web tempat untuk mengunduh file.

Selamat Mengunduh: smiley:

Udit Desai
sumber