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épertoiresubfolder
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 dehttp://mysite.org/internal_directory/subfolder/
dansmysite.org/subfolder/
. Par suite,--cut-dirs=2
rangera le contenu dansmysite.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.
- Wget for Windows: http://gnuwin32.sourceforge.net/packages/wget.htm
- How to download HTTP directory with all files and sub-directories as they appear on the online files/folders list?: http://stackoverflow.com/questions/23446635/how-to-download-http-directory-with-all-files-and-sub-directories-as-they-appear
- wget – recursively download all files from certain directory listed by apache: https://bmwieczorek.wordpress.com/2008/10/01/wget-recursively-download-all-files-from-certain-directory-listed-by-apache/
- GNU Wget: http://www.gnu.org/software/wget/
- VisualWget: https://sites.google.com/site/visualwget/