Vous êtes ici : Accueil / Développement / Shell Unix / Utiliser wget pour réaliser le mirroir d'un site Internet

Utiliser wget pour réaliser le mirroir d'un site Internet

Par Pierre-Yves Landuré Dernière modification 14/09/2013 18:31

Si vous avez le besoin de créer un mirroir local d'un site Internet, il n'est nul besoin d'un logiciel compliqué. L'outil wget qui permet de télécharger un fichier en ligne de commande, permet aussi ,moyennant la connaissance des bonnes options, de télécharger l'ensemble du contenu d'un site Internet afin d'en créer un miroir utilisable localement, sans connexion à Internet. Cet article vous donne la ligne de commande à utiliser, et explique vaguement les options utilisées.

Paramètres

Renseignez le nom du site Internet copié:

TARGET="http://www.example.com/"

Renseignez le chemin ou seront enregistrés les fichiers téléchargés:

DOWNLOAD_PATH="${HOME}/www.example.com"

Téléchargement

Créez le dossier cible:

command mkdir -p "${DOWNLOAD_PATH}"

Réalisez le mirroir du site ciblé:

command pushd "${DOWNLOAD_PATH}"
command wget \
--tries=5 \
--no-clobber \
--continue \
--no-host-directories \
--html-extension \
--recursive \
--level=inf \
--dont-remove-listing \
--convert-links \
  --backup-converted \
--page-requisites \
--no-parent \
--restrict-file-names=windows \
--random-wait \
--no-check-certificate \
"${TARGET}"
command popd

La visualisation du contenu du mirroir est possible à l'aide d'un navigateur. Par exemple:

command firefox "${DOWNLOAD_PATH}/index.html"

Détails de la commande

Les explications présentes ci-dessous sont disponibles de manières plus détaillées dans les pages man de wget:

command man wget

Les options suivantes permettent la création d'un mirroir local:

  • --tries=5 : réessaye le téléchargement d'un fichier en cas d'échec.
  • --no-clobber : évite la création de doublons d'un même fichier.
  • --continue : reprend les téléchargements interrompus.
  • --no-host-directories : désactive la création de dossiers pour les hôtes.
  • --html-extension : ajoute l'extension .html aux fichiers de ce type ne la possédant pas (par exemple, PHP, ASP, Python, etc...).
  • --recursive : active la récursivité du téléchargement. (le téléchargement n'est pas limité à la page d'accueil).
  • --level=inf : désactive la limite de niveau maximum.
  • --convert-links : convertit les liens dans les documents html de façon à ce que le contenu puisse être parcouru hors ligne.
  • --backup-converted : sauvegarde les fichiers avant leur conversion par "convert-links".
  • --page-requisites : télécharge les dépendances d'affichage d'une page, cela comprend les images et les fichiers css et javascript.
  • --no-parent : Ne remonte pas aux niveaux au dessus de la page téléchargée, cela évite d'avoir un mirroir qui prend tout un site, au lieu de seulement une partie spécifique.
  • --restrict-file-names=windows : renomme les fichiers pour autoriser la compatibilité avec Microsoft Windows.
  • --random-wait : génère une attente aléatoire entre chaque requête. Évite la surcharge du serveur.
  • --no-check-certificate : ignore les certificats SSL invalides.

Autre outil de création de mirroirs

Si vous souhaitez un outil vraiment spécialisé dans la création de mirroir, je vous propose d'installer l'outil en ligne de commande httrack:

sudo apt-get install httrack

Pour l'utiliser, lancez le simplement avec :

httrack

Remerciements