Réseau - Web - GNU/Linux

2013 10 juillet

« Aspiration de site » avec wget

Rédigé par Marc GUILLAUME | Aucun commentaire

Wget

La page man française de wget indique :

« Wget peut suivre les liens des pages HTML et XHTML et créer une copie locale de sites web distants, en récréant complètement la structure du site original. Ceci est parfois désigné sous le nom de « téléchargement récursif ». En faisant cela, Wget respecte le standard d'exclusion de robots (/robots.txt). Wget peut aussi convertir les liens dans les fichiers HTML téléchargés pour la consultation locale. »

Comment utiliser wget de façon « propre »

Voici une façon simple d'obtenir une copie d'un site consultable ensuite en local hors connexion. Les options choisies sont les plus simples. Il ne s'agit pas ici de maintenir un miroir d'un site mais bien de pouvoir le consulter sur sa machine locale.

Il est évidemment préférable d'avoir l'accord du webmaster avant d'aspirer un site, même si des options comme --random-wait peuvent permettre de passer inaperçu. Question de politesse.

Tout ce qui suit est tiré de la page man wget qu'il ne faut bien entendu pas négliger de consulter pour voir la multitude d'autres options.

La commande suivante permet d'obtenir une copie consultable en local du site exemple.com.

wget -r -k -E -np -w 3 --random-wait -o /chemin/vers/fich.log -b http://exemple.com

Si l'on ne voulait que le sous répertoire http://exemple.com/doc/superdocwget/ il suffirait de lancer la commande sur ce chemin pour n'avoir que ce répertoire et ses sous-répertoires.

Voici l'explicitation des options retenues :

Option -r
-r ou --recursive indique que le téléchargement doit être récursif. C'est à dire que les documents seront téléchargés en suivant les liens hypertexte jusqu'à un niveau de profondeur par défaut de 5 et qui peut être modifié par l'option -l.
Option -k
-k ou --convert-links indique que une fois le téléchargement terminé, wget convertit les liens du document pour qu'il soit consultable en local. Ceci affecte non seulement les liens hypertextes, mais aussi toute partie du document qui lie un contenu extérieur, comme les images, les liens vers les feuilles de style, les hyperliens vers du contenu non-HTML, etc. C'est donc l'option qui permet d'avoir une copie locale d'un site.
Option -E
-E ou --html-extension si un fichier de type application/xhtml+xml ou texte/html est téléchargé et que l'URL ne se termine pas par l'expression régulière \.[H[T[M[L?, cette option provoque l'ajout du suffixe .html au nom de fichier local. C'est pratique, si vous êtes en train de répliquer un site distant qui utilise des pages .asp, mais vous voulez que les pages répliquées soient visibles sur votre serveur Apache. Cette option est aussi très utile lorsque vous téléchargez la sortie de CGI. Une URL comme http://site.com/article.cgi?25 sera sauvegardé sous article.cgi?25.html.
Option -np
-np ou --no-parent permet de ne pas remonter dans les répertoires parents. C'est une option utile, puisqu'elle garantit que seuls les fichiers en dessous d'une certaine hiérarchie seront téléchargés.
Option -w secondes
-w secondes ou --wait=secondes, impose un délai de latence entre chaque requête de téléchargement de la valeur spécifiée dans secondes, cela permet de soulager le serveur en rendant les requêtes moins fréquentes. Le délai peut être précisé en minutes en utilisant le suffixe m, en heures en utilisant le suffixe h et même en jours en utilisant le suffixe d.
Option --random-wait
Certains sites analysent les logs pour repérer des requêtes de téléchargement régulières qui signent l'activité d'un aspirateur de site. Avec cette option, un délai aléatoire valant entre 0.5 et 1.5 fois la valeur fixée par -w sera appliqué entre chaque téléchargement, afin de masquer le travail de wget.
Option -o
Cette option permet de définir un fichier de log où seront consignées toutes les opérations effectuées par wget lors du téléchargement qui autrement seraient redirigées vers la sortie d'erreur standard.
Option -b
Envoit le porcessus en arrière plan en affichant son pid. Si aucun fichier de log n'a été spécifié par l'option -o les sorties sont dirigées vers un fichier wget-log.

Écrire un commentaire

Quelle est la dernière lettre du mot jxawma ?

Fil RSS des commentaires de cet article

À propos

Yakati.info - Réseau - Web - GNU/Linux © 2017

Généré par PluXml en 0.023s  - Administration

Mes coordonnées

Marc Guillaume
contact[at]yakati.info
79150 ÉTUSSON

Crédits

Pour la gestion du contenu

Généré par PluXml, le Blog ou Cms sans base de données

Pour le contenu

Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.

Pour le thème

Thème SOLID de blacktie.co adapté pour PluXml