chargement...

Journal de bord
Semaine - 6

16/03

Xiaohua:

J'ai écrit deux scripts pour extraire les éléments titres et les descriptions dans un fichier xml. Dans le script j'ai utilisé deux modules, etree et re, les deux marchent tout bien pour extraire les contenus entre les balises requis. Donc l'exercice 1 de la semaine 6 est fini. Un tag est ajouté vers ce commit 7d1c0dca. Aussi j'ai fait un update du journal ici. L'Exercice 2 – arborescence sera fini après.

Yingzi:

Pour l'exo1 j'ai utilisé 2 modules "re" et "feedparser" finalement.
Pour le module "re", l'idée c'est extraire le titre et la description de chaque élément du fichier XML donné, en utilisant des expressions régulières. Le contenu du fichier est d'abord lu en tant que chaîne de caractères, puis une expression régulière est utilisée pour extraire chaque élément individuel. Après, pour chaque élément , l'expression régulière du titre est appliquée pour extraire le contenu du titre (entre les balises ), puis l'expression régulière de la description est appliquée pour extraire le contenu de la description (entre les balises ). Les résultats sont affichés à l'écran.
Pour le module "feedparser", je l'ai utilisé pour extraire le titre et la description de chaque élément du fichier XML. Il affiche également le titre et la description du flux RSS, extraits de l'élément .
Le fichier XML est d'abord lu avec feedparser.parse() pour créer un objet feedparser.FeedParserDict qui contient les informations du flux RSS. Le titre et la description du flux sont extraits de feed.feed.title et feed.feed.subtitle.
Ensuite, pour chaque élément dans le flux RSS, le titre est extrait de entry.title et la description est extraite de entry.summary. Les résultats sont affichés à l'écran.
l'exo 1 est fini, mais je vais les apporter des modifications selon l'exo2 après.

17/03

Xiaohua:

J'ai compris connaissances élémentaires des modules re et etree. Sans savoir beaucoup quoi faire avec EXO2, j'ai fait un script qui extrait les titres et descriptions des articles dont les éléments contiennent les codes de catégories et la date. Et ça a marché. Mais il me semble pas très idéal parce qu'on n'arrive pas à parcourir des fichiers XML mais se limite toujours dans un seul fichier.

18/03

Xiaohua:

S6_exo2 fini. Le fichier python pluri_extraire_xml.py, qui contient une nouvelle fonction, sert à filtrer les fichiers dans tous les sous-dossiers d'un dossier radical, et trouver les fichiers requis, dans lesquels on va utiliser la fonction dans exo1 pour tirer les éléments_cible . Le dossier radical et donné par l'utilisateur, ainsi que les critères de filtre (date et catégorie). Les chemins de tous les fichiers seront mis dans le fichier fichiers.txt, tandis que ceux des fichiers requis seront mis dans le fichier fichiers_selected.txt. Enfin, un tag XC-s6-e2-FIN est ajouté. Aussi, il sera mieux si l'on peut écrire ces infos tirés dans un nouveau fichier xml. j'essayerai après. Enfin Journal du S6 renouvelé.

Yingzi:

L'exo 2 fini. En plus d'extraire le titre, la description comme exo 1, le script sert aussi à extraire la date de publication et la catégorie de chaque article du fichier XML en filtrant par catégorie et/ou date, et de sauvegarder ces informations dans un nouveau fichier XML.
Tout d'abord, j'ai importé les modules feedparser, argparse, datetime et xml.etree.ElementTree. Et puis je définis deux fonctions : is_entry_category pour vérifier si l'article appartient à la catégorie donnée, et is_entry_date pour vérifier si l'article a été publié à la date donnée. La fonction extract_title_description prend en entrée le chemin du fichier XML, la catégorie à filtrer, la date à filtrer et le nom du fichier XML de sortie. J'ai utilisé feedparser pour parser le contenu du fichier XML et creé un élément racine pour le nouveau fichier XML. Après parcourir tous les articles de l'objet feed.entries,j'ai ajouté les informations correspondantes (titre, description, date de publication et catégorie) à l'élément racine si l'article satisfait les critères de filtrage.
Finalement, j'ai appellé la fonction extract_title_description avec les arguments fournis par l'utilisateur à partir de la ligne de commande.

19/03

Xiaohua:

Enfin j'ai réussi à enregistrer les contenus tirés dans un nouveau fichier xml xml_filtre.xml. Dans l'exemple fichier, les contenus sont obtenu par la commande bash python pluri_extraire_xml.py 2022 --date Dec/25 --cat sport, et le structure est sur la page scripts

20/03

Groupe:

Merge une branche individuelle vers la branche main, tag s6-ex2-fin étiqueté.