La semaine dernière je parlais de l’Internet Libre. Pour mener à bien cette mission, et sans reparler de mes actions faites, je devais aussi migrer le joueb/blog de Filledou http://filledou.skyblog.com (Edit 2026 : aperçu du skyblog de Filledou à l’époque sur WebArchive.org) (ma sœur), sur Dotclear ou similaire.

Le début

Évidemment, et c’est connu, les utilisateurs normaux veulent quelque chose de correct, pas de bidouillage ! Du coup, ma sœur me faisant chi*er pour que ça fonctionne comme avant, avec tout les billets de skyblog.

Il faut donc “simplement” récupérer les données de Skyblog… 😢

Le déroulement

Au départ j’entrepris d’apprendre les REGEX PHP http://www.siteduzero.com/tuto-3-168-1-les-expressions-regulieres-partie-1-2.html (Edit 2026 : aperçu du Site du Zéro.com sur apprendre à utiliser les REGEX PHP entrevu par WebArchive.org). Après une bonne lecture et quelques essais je confirmais ce que je savais déjà : je ne suis pas doué pour les expressions régulières. Et pour parcourir un arbre HTML, c’est pas le top top (ou alors il faut plus d’expérience). 😠

Ainsi je suivais le chemin qu’on me conseillait : Utiliser une bibliothèque Python pour le parcours d’un arbre HTML (les anglais disent HTML parser je crois). Pour cela, il faut utiliser la bibliothèque BeautifulSoup. Mais en me documentant dessus, je remarquais aussi la chose suivante : C’est du Web Scraping ce que je fais !

Le Web Scraping de Skyblog

Le Web scraping consiste en la récupération d’informations sur des pages Web prises au hasard… ou pas ! Du coup mon idée de prendre les informations de Skyblog devient du Web scraping. Bien ou pas bien ? 🙄. Étant donné que je recupère des données crées par ma sœur, je considère ça comme étant correct, du coup je me suis lancé pleinement dans la tâche de parcours de l’arbre HTML résultant des pages Skyblog, puis dans l’enregistrement de ces données dans la table dc_post de Dotclear, car ce que nous voulons, c’est passer à Dotclear.

Après quelques jours d’essais en tous genres, de lecture de livres Python, etc. je parvins à un script correct, et réussis à passer à Dotclear ! Le résultat est sur le nouveau site de ma sœur http://filledou.net (Edit 2026 : aperçu du site filledou.net sur WebArchive.org). Cependant j’ose supposer que vous voudriez voir un peu la tête du code ? Dès que possible je vous le mettrais ici, mais pourquoi ne pas commencer avec quelques exemples ?

Le code

La structure du code est simple :

  • Récupération de la page Skyblog
  • Parcours de l’arbre
  • Récupération des informations
  • Traitement
  • Remise en forme pour enregistrement
  • Enregistrement dans la base
  • Page suivante

Pour un exemple sur la récupération du code sur internet ainsi qu’une utilisation simple du Web Scraping, je vous invite à visiter le billet de crowtheries http://isparse.net/?p=57 (Edit 2026 : aperçu d’un billet sur le WebScraping en Python sur isparse.net à l’époque vu par WebArchive.org et seconde partie sur WebArchive.org) dans lequel il prend un exemple simple de récupération de données sur un site internet. Vous comprendrez non seulement la facilité avec laquelle, après quelques essais, on retire l’information, mais aussi la puissance d’un tel processus.

Résultat

Bon aller, je suis sympa, je vous passe le code 😋, amusez vous bien : code de skyclear.py.

Si l’un de vous pourrait l’améliorer, voire en faire un plugin Dotclear, à votre aise ! Laissez moi un commentaire pour m’informer de votre travail, cela m’intéresse !