Récupérer les contenus textuels des rubriques France, Europe et International avec perl
Temps : real 0m9.739s
Le script Perl est presque trois fois plus rapide que le script Python
Il y a quatre argument à ajouter : le dossier contenant l'arborescence, la sortie.xml, la sortie.txt et le nom de la rubrique. On lance le script pour chaque rubrique à traiter.
J'ai trouvé cela plus simple de pouvoir utiliser directement le nom des rubriques pour lancer la commande. J'ai donc créée un dictionnaire poru associer au nom des rubriques leur code.
Cette fonction va nous permettre, dans un premier temps de parcourir notre répertoire et de selectionner les fichiers qui nous interesse (les fichiers au format .xml qui contiennent le code de notre rubrique. Cette fonction est une fonction récursive, on entre dans les objets tant que ce sont des répertoires et jusqu'à ce qu'on trouve un fichier. Une fois un 'bon' fichier trouvé, on va pouvoir extraire son contenu. On utilise la fonction de nettoyage pour avoir des contenus propres.
Cette fonction nous permets de nettoyer nos titres et nos descriptions. On peut ainsi enlever les éléments comme [CDATA] etc.
Tout d'abord, on va récupérer nos différents arguments passés en commande :
Ensuite, on va utiliser la fonction change() pour récupérer le code de notre rubrique. On va ouvrir nos fichiers de sortie pour pouvoir y insérer le contenu. Deux listes sont également créées (liste_titre et liste_description). Elles vont permettre de stocker ce qui a déjà été traités pour éviter d'avoir des doublons. Enfin, on lance notre fonction parcoursarborescencefichiers()
Voici un tableau qui récapitule les resultats obtenus en sortie du programme
Rubrique | Sortie.txt | Sortie.xml |
---|---|---|
France | resultat-france.txt | resultat-france.xml |
Europe | resultat-europe.txt | resultat-europe.xml |
International | resultat-international.txt | resultat-international.xml |