Récuperation du contenu textuel et transformation aux formats TXT et XML
1. Objectif
Les fils RSS sont des types de fichiers XML censés résumer des informations contenues dans une page web. On peut les utiliser pour tenir son public au courant des dernières nouvelles.
Nos supports de travail sont les fils RSS du journal Le Monde.Ils sont composés de balises, notamment les balises "
2. Comment procéder?
On dispose d'un dossier contenant les fils RSS appelé 2020. Ce dossier contient des sous-dossiers en fonction de la date à laquelle les fils RSS ont été produits.
Il faut donc chercher dans l'arborescence le fichier qui a une rubrique qui nous intéresse. On peut utiliser la structure récursive du dossier 2020 à notre avantage, car les mêmes
variables reviennent tout le temps (dossier et fichier).
3. Script slurp
On a deux solutions pour rédiger un script Perl : la méthode slurp et la méthode XML::RSS.
Fonctionnement du script slurp :
★ On ouvre les fichiers txt et XML de sortie
★ On parcourt l'arborescence du dossier 2020. Si l'on tombe sur un dossier, on continue à chercher, si on tombe sur un fichier, on lance le traitement.
★ On traite le fichier : on récupère le contenu entre les balises à l'aide d'expressions régulières. Puis, on normalise ce contenu via une sous-fonction de nettoyage.
★ On écrit dans les fichiers de sortie les contenus épurés. Pour le Txt, on l'écrit directement, tandis que pour le XML, on l'entoure de balises.
★ Enfin, on ferme les fichiers.
Données d'entrée : le dossier contenant les fils RSS du journal "Le Monde" de l'année 2020. , le nom de la rubrique à traiter
Commande d'exécution: perl script_BAO1.pl 2020 rubrique
Télécharger le script de BAO14. Script XML::RSS
XML::RSS est une bibliothèque contenue dans le module cpan. Elle donne directement accès à une structure de données.Le script fonctionne ainsi:
★ On ouvre les fichiers txt et XML de sortie
★ On parcourt l'arborescence du dossier 2020. Si l'on tombe sur un dossier, on continue à chercher, si on tombe sur un fichier, on lance le traitement.
★ On traite le fichier : on parcourt la liste préconcue des items, on récupère les valeurs titres et les descriptions qui sont déjà détectées grâce à XML::RSS
★ On nettoie le fichier avec des expressions régulières
★ On écrit dans les fichiers de sortie les contenus épurés. Pour le Txt, on l'écrit directement, tandis que pour le XML, on l'entoure de balises.
★ Enfin, on ferme les fichiers.
Données d'entrée : le dossier contenant les fils RSS du journal "Le Monde" de l'année 2020. , le nom de la rubrique à traiter
Commande d'exécution: perl script_BAO1_XMLRSS.pl 2020 rubrique
Télécharger le script de BAO1 XML::RSS
4. Résultats par rubrique
Rubrique A LA UNE (N. 3208):