Outil 1 : Extraction de contenu


Présentation

1. Tâche

Pour commencer, nous voulons extraire le contenu textuel des fils RSS de l'année 2018 du journal Le Monde. Plus précisément, nous voulons récupérer le titre et la description de chaque article présent dans les fichiers RSS. Notre objectif est d'écrire un programme pour réaliser cette tâche. Il y a 17 rubriques disponibles : actualité-média, cinéma, culture, économie, europe, idées, international, livres, planète, politique, sciences, société, sport, technologiues, une, vous et voyage.


2. Données traitées

L'archive récupérée sur le site Le Monde respecte une organisation bien définie comme observée sur la capture d'écran de gauche. Dans l'odre nous avons l'arborescence suivante : année >> mois >> jour >> heure >> fichiers. Nous avons 2 fichiers par rubrique, un fichier au format XML et un fichier au format TXT. Nous travaillerons sur les fichiers XML. Le format .xml et plus précisement RSS obéit à une structure bien particulière comme observé dans la figure de droite. Nous allons jouer avec le nom des balises de cette organisation pour extraire ce qui nous intéresse, les titres et les descriptions.


3. Outils utilisés

Pour la réalisation du programme nous utiliserons le langage de programmation Python qui nous proprose le merveilleux module BeautifulSoup permettant de traiter simplement et efficacement les languages de balisages tel que XML.
Jupyter est l'éditeur utilisé pour réaliser le code Python. Oxygen est l'éditeur utilisé pour visualiser ou intervenir sur le XML.


code

Pour accéder à l'explication complète du code veuillez cliquer sur "accéder à l'explication".

format voir dans le navigateur explication détaillée télécharger
Python BAO1.py accéder à l'explication

Résultats

Le programme vous demandera le nom des rubriques à traiter. Si tout se passe bien, après 1 à 2 minutes de traitement (selon la performance de la machine) nous obtenons des fichiers XML et TXT comme présentés ci-dessous.


Les archives

Nous présentons dans cette section les mises à jour majeures de notre programme. A noter que la version finale présentée plus haut est optimisée pour travailler sur le corpus 2018 Nous avons profité de certaines étapes du développement pour créer des variantes adaptées aux corpus des années précédentes. En effet ces derniers présentent des particularités problématiques nécessitant quelques modifications.

version features problèmes visualisation télécharger
V1
  • Traitement de toutes les rubriques
  • Copie de l'arborescence d'origine pour la sortie
  • Extraction automatique du nom de rubrique et de l'encodage
  • Gestion de contenu avec des variables
  • Contrôle du contenu de balise
  • Ecriture des sorties à la fin
  • Manque de la gestion de doublons
  • Stockage en variable exigeant en mémoire
  • Peu d'interactivité
voir
V2 Modifications:
  • Rubriques demandées à l'utilisateur
  • Gestion de contenu avec un dictionnaire
  • Ecriture de sortie xml simultanée, génération txt à la fin
Ajouts :
  • Boucle facultative de 'pérennité'
  • Fonction de nettoyage
  • Manque de la gestion de doublons
  • Traitement long à cause de l'ouverture fréquente des fichiers
voir
variante 2010 Variante adaptée aux corpus des années 2009 et 2010. Puisque les rubriques ont changé au fil de temps, nous avons repris la détection automatique des noms de rubrique. voir
variante 2014 Variante adaptée aux corpus de l'année 2011 jusqu'à 2017. Nous avons également repris la détection automatique des rubriques. voir
V3 Modifications :
  • Génération des sorties simultanée, ouverture et fermeture unique
Ajouts :
  • Gestion de doublons avec une chaîne de caractères
  • Problème dans les sorties txt lors de l'écriture
voir
V4 Modifications :
  • Gestion de doublons avec un objet set
  • Débug dans les sorties
  • Temps de traitement à optimiser
voir
Version finale Modifications et débug en vue d'optimisation de performance voir
Outil suivant : étiquetage >>>