Comme WikiLeaks compte déjà 208 sites mirroirs pour se protéger de la censure, il est temps que je fasse une copie de sauvegarde de la totalité de mon blogue avant qu'un malheur arrive. Eh oui, à l'image de la télésérie Virginie, je me base aussi sur l'actualité pour rédiger mon contenu. Patience, ça tire à sa fin! Pas mon blogue, Virginie!
Alors, comment on s'y prend pour aspirer la totalité d'un site ? Avec la commande GNU Wget sur Linux bien sûr! Essentiellement, la commande suivante devrait suffire à récupérer les pages HTML de mon blogue :
wget -r http://code18.blogspot.com
Mais Wget compte tellement d'options puissantes que la tentation est grande de les utiliser :
wget -r -p --random-wait robots-off -U mozilla -P code18 http://code18.blogspot.com/
-r : récursif
-p : télécharge tout ce qui est dépendant de la page pour l'afficher correctement
--random-wait : attend un nombre aléatoire de secondes entre les requêtes pour éviter d'être "black listé"
robots-off : pour qu'il ne suive pas les directives dans robots.txt
-U : pour indiquer le nom du user-agent qui sera envoyé au serveur HTTP
-P : pour indiquer, selon le répertoire courant d'où la commande est appelée, dans quel répertoire on enregistrera le contenu aspiré
Le hic, c'est que les images n'ont pas suivies car j'ai remarqué qu'elles sont hébergées sur un serveur différent, soit 4.bp.blogspot.com. On recommence en appliquant quelques modifications.
wget -r -p --random-wait robots-off -U mozilla -P code18 http://code18.blogspot.com/ -H -D code18.blogspot.com,4.bp.blogspot.com
-H permet d'étendre la récupération récursivement sur différents hôtes
-D suivi d'une liste de domaines séparés par des virgules permet de restreindre la récupération à ces domaines
Maintenant ça fonctionne. Pour faire une copie de sauvegarde des images, Wget crée sur mon poste un répertoire 4.bp.blogspot.com et l'alimente en créant l'arborescence complète avec une série de répertoires aux noms bizarres.
Et si j'avais voulu juste les images, toutes au même endroit (1 répertoire unique) ?
wget -r -p -nd --random-wait robots-off -U mozilla -P images -A jpg,jpeg,gif,png http://code18.blogspot.com/ -H -D code18.blogspot.com,4.bp.blogspot.com
-nd (no directories) pour que tous les fichiers s'enregistrent dans le répertoire indiqué sous l'option -P (images)
-A pour spécifier les extensions à conserver
Puissant, n'est-ce pas ? Je disais au début du billet que cette commande est pour Linux mais les utilisateurs de Windows ne seront pas en peine puisqu'il existe aussi une adaptation de Wget pour Windows si vous souhaitez vous amusez aussi.
En conclusion, avant d'avoir l'idée folle de télécharger la totalité de Wikipedia avec cet outil pratique, jetez plutôt un coup d'oeil à leur section Télécharger la base de données...
lundi 6 décembre 2010
0 réponse à "Comme le fondateur de WikiLeaks, je vire parano"
S'abonner à :
Publier des commentaires (Atom)