Sima78 - Mot-clé - Wget<p>Linux - Logiciel libre - Randonnées et autres.</p>2024-03-28T20:50:49+01:00Sima78urn:md5:ac998da534fd2e53a15e0e4882301d91DotclearWget – Aspirer un site n’est pas un crimeurn:md5:3d51d8787c68039c996a536896bbf39f2018-11-14T23:21:00+01:002021-08-29T20:46:21+02:00sima saTutoConsoleLigne de commandeWget<p><a href="https://sima78.chispa.fr/public/applications/wget/wget-est-pas-un-crime.jpg" title="wget n'est pas un crime - sima78"><img alt="wget n'est pas un crime - sima78" src="https://sima78.chispa.fr/public/applications/wget/wget-est-pas-un-crime.jpg" style="float: left; margin: 0 1em 1em 0;" title="wget n'est pas un crime - sima78, nov. 2018" /></a>Aspirer un site n’est pas un crime, ni un vol, tout dépend le but !</p>
<p>Avant de donner les lignes de commande, l’anecdote qui m’a poussé a utiliser <a href="https://www.gnu.org/software/wget/" hreflang="en" target="_blank" title="wget">wget</a> pour aspirer un site.<br />
Pour la petite histoire<br />
Je m’intéresse à la généalogie et j’ai moi-même un site sur la généalogie de ma famille sous <a href="https://geneweb.tuxfamily.org/wiki/GeneWeb/fr" hreflang="fr" target="_blank" title="Geneweb France">geneweb</a>.<br />
Il y a quelques années déjà j’ai découvert un site qui regroupe une branche de ma famille. Pour ce qui concerne la branche de ma famille rien de vraiment nouveau sauf quelques cousins très éloignés.<br />
Par contre le travail effectué sur cet arbre généalogique est pharaonique.<br />
Soit, le site est un <a href="https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_contenu" hreflang="fr" target="_blank" title="CMS">cms</a> dépassé et plus suivi depuis déjà plus de deux ans à l’époque. J’alerte donc le gestionnaire du site des risques, j’échange avec lui, une sympathie s’installe et surtout un gros respect de ma part. Je parcours même de milliers de kilomètres pour le rencontrer. Ce fût pour moi une rencontre mémorable.<br />
Nous avons continuer d’échanger mais il est resté sur ce cms de généalogie complètement dépassé malgré mes avertissements.</p> <p>Puis, un jour, et les jours suivants, plus de nouvelles, plus de réponses à mes mails… j’insiste de nombreux mois, rien, pas de signe de vie.<br />
Inquiet, je décide d’aspirer son site pour que tout le travail qu’il a effectué ne soit pas perdu (je mets plus bas la ligne de commande utilisée).</p>
<h3>Je me suis fait traité de tous les noms d’oiseaux</h3>
<p>Pour tenter de faire mieux je vais sur un forum et demande si quelqu’un n’aurait pas connaissance d’un script permettant de créer un fichier <a href="https://fr.wikipedia.org/wiki/GEDCOM" hreflang="fr" target="_blank" title="Fichier Gedcom">Gedcom</a> depuis le site aspiré… J’ai été traité de voleur, d’escroc et autres allégations désagréables. Ça m’a rappelé ma jeunesse, lorsque je trollais sur les forums, sauf que là, je ne trollais pas. Bon, après quelques explications, nombreux m’ont soutenu dans ma démarche, quelques rares obtus ont continué leurs réprobations, de plus en plus timidement pour finalement s’éteindre.</p>
<p>Bref ! Je n’ai pas de script pour créer un gedcom mais j’ai le travail d’une personne dans un coin de mon disque dur que je remettrai à un de ses descendants, du moins j’espère car il n’a de valeur que pour eux.</p>
<p>Passons à Wget et quelques commandes</p>
<h3>Aspirer un site web</h3>
<p>Le mieux est de contacter le gestionnaire du site pour lui demander si l'on peut vous envoyer les informations qui vous intéressent. L’intérêt de l’aspiration est d’avoir les infos du site Off-Line. Mais évitez d’en abuser, utilisez-le que lorsqu’il n’y a vraiment pas d’autres solution (ou pour télécharger des fichiers, c’est un autre usage et c’est aussi plus bas).<br />
Certains serveurs sont protégés contre l’aspiration de site et il se peut que cela ne fonctionne pas.</p>
<p><strong>Wget et aspirer un site</strong></p>
<pre>
# wget -r -k -E -np --limit-rate=100k https://site-aspired.com</pre>
<p>Cible est https://site-aspired.com.<br />
Options :<br />
-r pour parcourir tous les liens du sites.<br />
-k conversion des liens en liens locaux.<br />
-E conversion php vers HTML, facilite la lecture depuis votre navigateur.<br />
-np pour ne pas remonter dans l’arborescence du site<br />
--limit-rate=100k limite la vitesse de téléchargement à 100k/s</p>
<p>Toutes les lignes de commande ci-dessous m'ont été inspirées par le site de <a href="https://www.tecmint.com/" hreflang="en" target="_blank" title="Tecmint">TecMint</a> et plus particulièrement par le <a href="https://www.tecmint.com/10-wget-command-examples-in-linux/" hreflang="en" target="_blank" title="Wget par TecMint">billet traitant wget</a></p>
<h3>Utiliser wget pour télécharger des fichiers</h3>
<p><strong>Téléchargement d’un fichier</strong></p>
<pre>
# wget http://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.gz</pre>
<p>La commande téléchargera le fichier dans un répertoire actuel. Il montre aussi le progrès de téléchargement, la taille, la date et heure.</p>
<p><strong>Télécharger un fichier en le renommant</strong></p>
<pre>
# wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.gz</pre>
<p>L'utilisation-O l'option (majuscule), télécharge le fichier en le renommant. Ici nous avons choisi le nom "wget.zip" comme exemple.</p>
<p><strong>Téléchargez plusieurs fichiers avec les protocoles ftp et http</strong></p>
<pre>
# wget http://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.gz ftp://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.gz.sig</pre>
<p>Ici nous voyons comment télécharger de multiples fichiers en utilisant les protocoles HTTP et FTP avec la commande de wget.<br />
Téléchargez depuis plusieurs URLs d'un fichier<br />
Vous pouvez stocker plusieurs URLs dans un fichier texte et les télécharger avec l'option -i. Ci-dessous nous avons créé tmp.txt dans le répertoire wget où nous mettons la série d'URL (1 par ligne).<br />
Exemple :</p>
<pre>
nano /wget/tmp.txt</pre>
<p>Ajoutez les lignes:</p>
<pre>
http://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.gz
ftp://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.gz.sig</pre>
<p>Il suffit de lancer:</p>
<pre>
# wget -i /wget/tmp.txt</pre>
<p><strong>Reprenez un téléchargement inachevé</strong></p>
<p>En cas de téléchargement de gros fichiers, il peut arriver que le téléchargement s’interrompre pour une raison quelconque. Avec l’option -c le téléchargement reprendra là où il s’est arrêté.<br />
Sans cet option le téléchargement reprendra depuis le début et wget ajoutera ".1" à la fin du nouveau fichier.<br />
<em>L’option -c est donc la bonne pratique.</em></p>
<pre>
# wget -c https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-9.5.0-amd64-DVD-1.iso</pre>
<p>Si ".1" existe déjà il ajoutera ".2", etc.</p>
<p><strong>Télécharger en arrière-plan</strong></p>
<p>Avec l'option -b, envoyez le téléchargement en arrière-plan immédiatement après le début du téléchargement, les journaux sont écrits dans le fichier /wget/log.txt.</p>
<pre>
# wget -b /wget/log.txt ftp://ftp.iinet.net.au/debian/debian-cd/6.0.5/i386/iso-dvd/debian-6.0.5-i386-DVD-1.iso</pre>
<pre>
Continuing in background, pid 3550.</pre>
<p><strong>Limiter la vitesse de téléchargement</strong><br />
Avec Option –limit-rate = 100k, le téléchargement est limitée à 100k/s et les journaux sont créés sous /wget/log.txt, comme indiqué ci-dessous.</p>
<pre>
# wget -c --limit-rate=100k /wget/log.txt https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-9.5.0-amd64-DVD-1.iso</pre>
<p><strong>Téléchargent FTP ou HTTP avec identification</strong><br />
Avec des Options -http-user=username, -http-password=password et -ftp-user=username, -ftp-password=password, vous pouvez télécharger avec Login/mot_de_passe</p>
<pre>
# wget --http-user=narad --http-password=password http://mirrors.fantome.in/truc/machin-LiveDVD.iso
# wget --ftp-user=narad --ftp-password=password ftp://ftp.fantome.net.au/truc/machin-LiveDVD.iso</pre>
<p><strong>WGET - Version et aide</strong></p>
<pre>
$ wget --version
$ wget --help
$ man wget</pre>