Tout ou presque sur les logiciels libres, linux, protection de la vie privée... et aussi Humeur!

Aller au contenu | Aller au menu | Aller à la recherche

Wget – Aspirer un site n’est pas un crime

wget n'est pas un crime - sima78Aspirer un site n’est pas un crime, ni un vol, tout dépend le but !

Avant de donner les lignes de commande, l’anecdote qui m’a poussé a utiliser wget pour aspirer un site.
Pour la petite histoire
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 geneweb.
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.
Par contre le travail effectuer sur cet arbre généalogique est pharaonique.
Soit, le site est un cms 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.
Nous avons continuer d’échanger mais il est resté sur ce cms de généalogie complètement dépassé malgré mes avertissements.

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.
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).

Je me suis fait traité de tous les noms d’oiseaux

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 Gedcom depuis le site aspiré… J’ai été traité de voleur, d’escroc et autres allégations désagréables. Ça m’a rappeler 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 continuer leurs réprobations, de plus en plus timidement pour finalement s’éteindre.

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.

Passons à Wget et quelques commandes

Aspirer un site web

Le mieux est de contacter le gestionnaire du site pour lui demander s’il 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).
Certains serveurs sont protégés contre l’aspiration de site et il se peut que cela ne fonctionne pas.

Wget et aspirer un site

# wget -r -k -E -np --limit-rate=100k https://site-aspired.com

Cible est https://site-aspired.com.
Options :
 -r pour parcourir tous les liens du sites.
 -k conversion des liens en liens locaux.
 -E conversion php vers HTML, facilite la lecture depuis votre navigateur.
 -np pour ne pas remonter dans l’arborescence du site
--limit-rate=100k limite la vitesse de téléchargement à 100k/s

Toutes les lignes de commande ci-dessous m'ont été inspirées par le site de TecMint et plus particulièrement par le billet traitant wget

Utiliser wget pour télécharger des fichiers

Téléchargement d’un fichier

# wget http://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.gz

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.

Télécharger un fichier en le renommant

# wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.gz

L'utilisation-O l'option (majuscule), télécharge le fichier en le renommant. Ici nous avons choisi le nom "wget.zip" comme exemple.

Téléchargez plusieurs fichiers avec les protocoles ftp et http

# 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

Ici nous voyons comment télécharger de multiples fichiers en utilisant les protocoles HTTP et FTP avec la commande de wget.
Téléchargez depuis plusieurs URLs d'un fichier
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).
Exemple :

nano /wget/tmp.txt

Ajoutez les lignes:

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

Il suffit de lancer:

# wget -i /wget/tmp.txt

Reprenez un téléchargement inachevé

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é.
Sans cet option le téléchargement reprendra depuis le début et wget ajoutera ".1" à la fin du nouveau fichier.
L’option -c est donc la bonne pratique.

# wget -c https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-9.5.0-amd64-DVD-1.iso

Si ".1" existe déjà il ajoutera ".2", etc.

Télécharger en arrière-plan

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.

# 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
Continuing in background, pid 3550.

Limiter la vitesse de téléchargement
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.

# 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

Téléchargent FTP ou HTTP avec identification
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

# 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

WGET - Version et aide

$ wget --version
$ wget --help
$ man wget

Articles à lire sur des sujets Similaires

Commentaires

1. Le vendredi 16 novembre 2018, 11:34 par Weivorp

Merci voleur ! :p

2. Le vendredi 16 novembre 2018, 16:18 par benzo

Comme disait Guy Lux ,"c'est le jeu ma pauvre lucette"... si vraiment tu ne veux pas te faire "pomper" tes fichiers ya moyen de les protéger contre WGET
Et si ca se trouve suite à ton billet , tu vas bientôt avoir des nouvelles :-)

3. Le vendredi 16 novembre 2018, 20:30 par Toto

Belle démarche.
Je vous recommande de préciser l'usage du paramètre -P qui permet de réaliser un "enregistrer sous". Cette fonction hyper pratique permet de ne pas avoir à faire un "cd" avant de télécharger un fichier et évite d'utiliser le -O qui oblige à retaper le nom du fichier et qui est documenté partout contrairement du -P.

Usage: wget https://LE_SITE.tld -P /home/toto/Un_Dossier/

4. Le samedi 17 novembre 2018, 01:15 par Sima

@ Weivorp

-) Hé oui, nous ne sommes souvent que des voleurs, puis nous reformulons nos acquis, les plus doués les innovent.

@ benzo
On récolte ce que l'on sème... Si quelqu'un trouve un intérêt à pomper mon blog?! Peut-être trouverai-je une satisfaction à ce que l'on me pompe de la sorte? ;-)

@Toto
J'ai apprécié le fait de refaire un $ man wget pour découvrir le paramètre -P qui m'a échappé et que j'aurai pu ajouter à mon billet.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : https://chispa.fr/sima78/index.php?trackback/115

Fil des commentaires de ce billet