Fichiers à télécharger:

 

Boîte A Outils 1

Objectif

Le but de ce premier script est de parcourir l’arborescence contenant tous les fils RSS du journal Le Monde pendant un an. Il faut ensuite extraire le contenu de la rubrique qui nous intéresse, dans notre cas c'est la rubrique International.On veut récupérer en sortie la concaténation de tous les contenus des balises <description>.
Notre but est finalement d’obtenir une sortie .txt pouvant être exploitée ensuite dans la BAO2 avec Cordial et TreeTagger. On peut également facilement obtenir une sortie structurée en XML. Nous avons ajouté cette sortie.

Traitement

Pour cette première étape, nous avions tout d'abord mis en place deux scripts :

- le premier nettoie les fils RSS à l’aide d’expressions régulières
- le second utilise la bibliothèque XML :: RSS.

Nous avons finalement décidé d'opter pour un seul script, pour des raisons expliquées ci-dessous.

 

Problèmes majeurs

Lors de la mise en œuvre de ces scripts, nous avons rencontré deux problèmes majeurs :

- les fils du Monde de l’année 2009 ne contiennent aucun saut de ligne. Or, si on utilise notre script numéro 1 (avec nettoyage manuel) qui filtre les fichiers ligne par ligne, on ne récupère en sortie que le contenu de la première balise car le programme n’ayant pas trouvé d’autres lignes dans le fichier ne va pas plus loin.
- Le second script (avec nettoyage automatique grâce à la bibliothèque XML ::RSS) pose un autre problème, puisqu'il reste certaines entités (&39, &34…) et que certains liens vers les images ne sont pas supprimés.

Pour résoudre ces problèmes nous avons finalement décidé de ne réaliser qu’un seul script mélangeant le nettoyage manuel à l’aide d’expressions régulières et l’utilisation de la bibliothèque XML ::RSS. Ce nouveau script parcourt l’arborescence puis récupère et nettoie les pages à l’aide de la bibliothèque XML ::RSS (ce qui évite le problème avec les sauts de ligne), puis on nettoie le reste à l’aide d’expressions régulières notamment pour éliminer les balises contenant des images. Enfin, pour se débarrasser de toutes les entités de type &39, &34, etc., on utilise la bibliothèque XML ::Entities qui permet de toutes les décoder .

Résultats

Extrait de sortie Texte Brut :



Extrait de sortie XML :