Comment télécharger la liste des fichiers depuis un serveur de fichiers?


10

Comment télécharger une liste de fichiers depuis un serveur de fichiers comme celui-ci http://www.apache.org/dist/httpd/binaries/ ?

Je suppose que je pourrais utiliser wget mais ensuite il essaie d'obtenir tous les liens et le fichier html également. Existe-t-il un meilleur outil pour y parvenir?


juste pour clarifier votre question: vous voulez juste la liste des fichiers qui pourraient être téléchargés depuis le serveur, pas les fichiers lui-même (encore)?
akira

De quelle manière une commande comme `wget --no-verbose --spider --no-répertoires --recursive --level = 2 apache.org /dist/httpd/binaries` ne fonctionne pas pour vous? Si vous pourriez être plus précis, cela pourrait vous aider
DaveParillo

Réponses:


12

Vous pouvez spécifier les extensions de fichier à wgettélécharger lors de l'exploration des pages:

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

Ceci effectuera une recherche récursive et uniquement les fichiers télécharger les .zip, .rpmet les .tar.gzextensions.


8

en supposant que vous vouliez vraiment juste une liste des fichiers sur le serveur sans les récupérer (encore):

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

tandis que «filter.awk» ressemble à ceci

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

vous devrez peut-être filtrer certaines entrées comme

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

0

Réf: http://blog.incognitech.in/download-files-from-apache-server-listing-directory/

Vous pouvez utiliser la commande suivante:

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

Explication avec chaque option

  • wget: Commande simple pour faire une demande CURL et télécharger des fichiers distants sur notre machine locale.
  • --execute="robots = off": Cela ignorera le fichier robots.txt lors de l'exploration des pages. C'est utile si vous n'obtenez pas tous les fichiers.
  • --mirror: Cette option reflétera essentiellement la structure du répertoire pour l'URL donnée. C'est un raccourci -N -r -l inf --no-remove-listingqui signifie:
    • -N: ne récupérez pas les fichiers sauf s'ils sont plus récents que les fichiers locaux
    • -r: spécifier le téléchargement récursif
    • -l inf: profondeur de récursivité maximale (inf ou 0 pour infini)
    • --no-remove-listing: ne supprimez pas les fichiers '.listing'
  • --convert-links: les liens HTML ou CSS téléchargés pointent vers des fichiers locaux
  • --no-parent: ne montez pas dans le répertoire parent
  • --wait=5: attendez 5 secondes entre les récupérations. Afin que nous ne battions pas le serveur.
  • <website-url>: Il s'agit de l'URL du site Web à partir duquel télécharger les fichiers.

Téléchargement heureux: smiley:

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.