Nouvelle du 24/08/2007
[Mes travaux]
[24-08-2007] Retour d'expérience sur la rétroingénierie de pages Web
La rétroingénierie de pages Web regroupe des techniques permettant d'extraire le contenu de documents HTML de manière structurée. Si la page comporte un prix, le texte ''prix'' sera reconnu comme tel, pas comme une simple chaîne de caractères vide de sens.
Plusieurs techniques existent. Une première famille consiste à analyser la page comme un arbre XML et extraire le contenu des feuilles jugées intéressantes de cet arbre. Je n'ai jamais exploré cette voie, au contraire d'un ancien collègue, spécialiste de ce type de technique. La seconde famille consiste à extraire du texte à l'aide d'expressions régulières. On doit dès lors analyser le code HTML et définir une trame de balises permettant d'extraire le texte. Inconvénient de cette approche: l'écriture des expressions régulières est fastidieuse.
Après une première implémentation très rudimentaire et peu satisfaisante, je viens de réaliser une nouvelle trousse à outils, qui sera bientôt intégrée à mon moteur de recherche. En pratique, les règles sont exprimées dans une syntaxe très simple, au sein d'un fichier en (quasi-)XML (ensuite converti en véritable XML), laquelle sert de base à la génération d'expressions régulières. Le système permet par ailleurs de définir des règles dépendant de la valeur d'une autre variable à extraire mais aussi de paramétrer des calculs de variables finales sur base de variables intermédiaires extraites (par exemple, pour calculer un prix sur base de deux prix extraits).
Testé sur des fiches de produits, sur Sourceforge (création de tableaux de bords de présentation de logiciels Open Source) ou sur une liste d'adresses d'écoles, le système se révèle incomparablement plus souple que mes anciens développements.
A noter qu'il existe quelques projets Open source dans ce domaine, dont: GoldSeeker et Web-Harvest (semble-t-il puissant mais codé en Java et assez complexe). Pour Web-Harvest, un des exemples présenté montre un accès (accès protégé via POST) au The New York Times, suivi d'une extraction des articles via, semble-t-il, des règles écrites en XPath (syntaxe -non XML- pour désigner une portion d'un document XML), le tout configuré dans un simple fichier XML.
[Commentaires (0)] [Lien permanent]
Faites connaître ce billet:
Publicité:













Robert VISEUR