L'objectif de cette phase

Cette boîte à outils sert à extraire les contenues textuels des "titre" et "description" de chaque fichier dans nos fils RSS et de les concaténer et mettre dans un seul fichier par rubrique. Les sorties de programme est deux genres de fichiers : TXT et XML. TXT contient les texte brut de chaque extraction, et XML est le document semi-structuré établi en ajoutant les balises autour d'extraction.

L'idée de cette boîte est que le programme parcourt le répertoire fils RSS, en traversant l'arborescence de manière récursive, puis trouve le fichier qui correspond à la rubrique intéressante, et ensuite récupère les informations qui nous intéressent.Deux méthodes différentes ont été utilisées pour réaliser cette boîte à outils :

  • à l'aide d'expressions régulières ;
  • à l'aide d'une bibliothèque Perl, XML::RSS.

La commande à exécuter le programme Perl :
perl programme.pl répertoire_traité numéro_rubrique


Extraction à l'aide d'expressions régulières

Dans le fichier XML d'entrée, chaque balise "item" contient une balise "title" et une balise "description". La structure de fichier XML d'entrée :

Pour extraire les "title" et "description", nous avons utilisé l'expressions régulières dans le script Perl en cours :
<item>.*?<title>(.+?)<\/title>.+?<description>(.+?)<\/description>
Le point d'interrogation est surtout obligatoire à ajouter dans cette expression. C'est pour rendre ".+" non gourmand.

Le script Perl+Regexp : BAO1_perl_Regexp.pl

Les fichiers de sortie (Rubrique UNE 3208) :
Regexp_3208 TXT Regexp_3208 XML

Les fichiers de sortie (Rubrique INTERNATIONAL 3210) :
Regexp_3210 TXT Regexp_3210 XML

Les fichiers de sortie (Rubrique LIVRES 3260) :
Regexp_3260 TXT Regexp_3260 XML


Extraction à l'aide de bibliothèque XML::RSS

La deuxième méthode d'extraire les "title" et "description" est d'analyser la structure de fichier RSS en utilisant la bibliothèque XML::RSS. La modification fait à la base de script Regexp est montrée dans la photo suivante :

Le script Perl+XML::RSS : BAO1_perl_biblioRSS.pl

Les fichiers de sortie (Rubrique UNE 3208) :
biblioRSS_3208 TXT biblioRSS_3208 XML

Les fichiers de sortie (Rubrique INTERNATIONAL 3210) :
biblioRSS_3210 TXT biblioRSS_3210 XML

Les fichiers de sortie (Rubrique LIVRES 3260) :
biblioRSS_3260 TXT biblioRSS_3260 XML