Télécharger le contenu d’un répertoire listé par Apache

Pour télécharger le contenu d’un répertoire sur un serveur Apache, on peut s’aider d’un outil provenant d’Unix: wget. Les gros intérêts de cet outil sont:

  • Son installation est rapide,
  • On peut l’utiliser à partir d’une ligne de commandes, dans un script batch ou dans un script powershell,
  • wget dipose de beaucoup d’options, par exemple, pour parcourir récursivement un répertoire HTTP

A l’origine wget est un outil Unix mais il existe une implémentation pour Windows téléchargeable sur: http://gnuwin32.sourceforge.net/packages/wget.htm.

Pour télécharger un répertoire HTTP récursivement

Par exemple, si le répertoire est http://mysite.org/internal_directory/subfolder/, on peut écrire à la ligne de commandes:

wget -r -np http://mysite.org/internal_directory/subfolder/

Les options sont:

  • -r: permet de parcourir récursivement tous les répertoires, y compris les répertoires situés au-dessus du répertoire subfolder comme, par exemple, internal_directory.
  • -np: permet d’empêcher le parcours des répertoires au-dessus du répertoire subfolder. Le parcours sera donc limité au répertoire subfolder et à ses sous-répertoires.

D’autres options peuvent être utiles comme:

  • -nH: permet de ne pas préfixer le répertoire de destination avec le host name du site http://mysite.org/
  • -cut-dirs: cette option permet d’éviter de ranger le contenu des répertoires dans les mêmes répertoires de destination. Ainsi --cut-dirs=1 rangera le contenu de http://mysite.org/internal_directory/subfolder/ dans mysite.org/subfolder/. Par suite, --cut-dirs=2 rangera le contenu dans mysite.org/.
  • -R: permet d’excluse des fichiers suivant leur nom. -R index.html évitera de récupérer les fichiers index.html; -R html permettra d’éviter de récupérer tous les fichiers html.
  • -A: permet de récupérer seulement les fichiers avec un nom particulier. -A html permet de ne récupérer que les fichiers html.

Toute la documentation se trouve sur: http://www.gnu.org/software/wget/manual/wget.html.

VisualWget

Sur Windows, on peut s’aider d’une interface graphique pour utiliser wget: VisualWget.

Références

Leave a Reply