La première étape de notre projet consiste à extraire les titres et les descriptions des articles inclus dans les fichiers RSS "Le Monde".

 

Ces fichiers existent en deux formats distincts : TXT et XML. Les données textuelles qui nous intéressent sont plus facilement repérables en format XML, grâce aux balises utilisées pour la structuration du texte. Pourtant, le même fichier contient beaucoup d'autres informations, comme par exemple, des liens, la date de publication etc., ou bien des entités HTML, nécessaires pour l'affichage des caractères spéciaux en XML.

 

structure balisée des fichiers RSS

 

En plus, on peut observer que les balises 'title' apparaissent plusieurs fois, englobées par des balises différentes, 'image', 'url', 'item'. Notre but est d'extraire les titres des articles seulement, identifiés par la balise 'item'.

 

Ainsi, pour extraire les informations requises, nous devons d"abord les filtrer et les nettoyer en ramplaçant toutes les entités HTML par les caractères spéciaux correspondants. A cette fin, nous disposons d'un script en Perl, que nous devons améliorer en ajoutant des commandes de filtrage et de nettoyage. Cela est possible en utilisant soit des expressions régulières - la méthode "rustique" - soit en utilisant des modules Perl, spécialement créés pour extraire des données balisées en XML.

 

A l'issue de cette étape, nous devrions obtenir deux fichiers de sortie, TXT et XML, contenant les titres et les résumés des articles, classifiés par rubrique. L'affichage des résultats XML est personnalisé au moyen de feuilles de style XSL.

 

Une difficulté particulière à ce stade : dans les fichiers RSS la rubrique 'A la une' apparaît deux fois, étant identifiée par deux codes différents comme s'il s'agissait de deux rubriques distinctes :"0,2-3208,1-0,0" => "ALAUNE" et "0,2-3404,1-0,0" => "ALAUNE". En ignorant ce détail lors du traitement, les résultats étaient nuls pour cette rubrique. En choisissant seulement l'un des codes, le traitement allait bien. Comme nous avons travaillé sous deux systèmes d'exploitation différents, Mac et Ubuntu, nous avons remarqué qu'en réalité chacun des systèmes prenait en compte uniquement l'un des codes, ce qui pourrait en quelque sorte nous offrir une réponse à la question pourquoi deux codes pour la même rubrique.

 

Les différentes versions améliorées du script de filtrage, nettoyage et extraction de données, ainsi que les fichiers des résultats obtenus et leurs feuilles XSL associées sont accessibles dans le menu à gauche.