Lire (et modifier) un fichier XML avec Python

Un article précédent a montré comment générer facilement un corpus textuel avec Python. Le corpus ainsi produit se présentait sous forme d’un fichier au format XML, écrit notamment grâce à xml.etree.ElementTree, qui fait partie de la librairie standard.

ElementTree s’avère donc utile pour créer des fichiers XML, mais permet aussi de lire des fichiers préexistants, notamment dans le but de les modifier.

Voici comment procéder pour lire l’arborescence d’un fichier XML et lui apporter des modifications.

Continuer la lecture de « Lire (et modifier) un fichier XML avec Python »

Produire un corpus web format XML en 15 lignes de code

Pour effectuer certaines tâches, disposer d’un corpus textuel est très utile, voire indispensable : faire des essais pour un projet dont le corpus de travail est en cours de constitution, tester des scripts et traitements, prendre en main un nouvel outil et/ou le comparer à d’autres outils similaires…

Ce sont des usages qui relèvent principalement des phases préparatoires d’un projet, et pour lesquels il est surtout important de pouvoir construire un corpus rapidement et sans trop d’effort. Ce n’est pas grave si sa constitution n’est pas particulièrement précise puisqu’elle ne nécessite qu’un investissement limité et que les résultats obtenus n’ont pas vocation à être exploités en conditions réelles.

Je vous présente ici un script Python de web scraping très simple, qui vous permettra d’obtenir un corpus textuel au format XML tout à fait adapté à ce type d’utilisation.

Continuer la lecture de « Produire un corpus web format XML en 15 lignes de code »

Navigation web automatique avec Python

Dans cet article de la série d’articles consacrés à la cartographie de données linguistiques avec Python, la librairie selenium était exploitée pour réaliser des captures d’écran.

Ce n’est pas sa seule utilité : le webdriver de selenium permet de naviguer sur une page web de façon automatisée, et donc de mettre en place divers degrés d’interaction. Ceci peut être par exemple utile si, lors de la constitution d’un corpus web, vous voulez récupérer des contenus qui n’apparaissent qu’après un clic sur un élément de la page.

Voici deux exemples d’utilisation de selenium pour obtenir l’accès à des contenus qui nécessitent une interaction avec la page web.

Continuer la lecture de « Navigation web automatique avec Python »

Cartographier des données linguistiques avec Python – 5

Un précédent article a montré comment créer une carte à partir de données issues d’un fichier CSV, un format couramment utilisé pour les données de recherche, en linguistique ou dans d’autres domaines. Toutefois, s’agissant de données géographiques, rencontrer des données au format GeoJSON qui est spécifiquement conçu pour cet usage, n’aurait rien d’étonnant.

Voici comment produire une carte HTML en Python, avec cette fois un ou plusieurs fichier(s) d’entrée au format GeoJSON.

Continuer la lecture de « Cartographier des données linguistiques avec Python – 5 »

Cartographier des données linguistiques avec Python – 4

Les cartes produites avec folium sont des cartes interactives au format HTML. Changer l’extension au moment de l’enregistrement du fichier ne permet pas d’obtenir un fichier image, par exemple : un fichier sera bien créé, mais il ne pourra pas être lu.

Pour avoir un aperçu de la carte dans un format image de type PNG, il existe toujours la solution de réaliser manuellement une capture d’écran. Cette manipulation peut représenter une perte de temps (et d’énergie) certaine, en particulier si on veut générer des aperçus pour documenter les différentes étapes de création d’une carte.

Il peut alors être plus pratique d’automatiser la prise de capture d’écran, en l’intégrant au code Python.

Continuer la lecture de « Cartographier des données linguistiques avec Python – 4 »

Cartographier des données linguistiques avec Python – 3

Les précédents articles consacrés à la cartographie de données linguistiques avec Python permettaient de créer une carte sur laquelle les informations d’un fichier CSV étaient représentées par une ou plusieurs séries de points. Dans certains cas, il est plus pertinent de ne pas représenter des points indépendants, mais plutôt une aire, une surface.

Voici comment faire, toujours en partant d’un fichier CSV (ou TSV) contenant une série de coordonnées géographiques.

Continuer la lecture de « Cartographier des données linguistiques avec Python – 3 »

Cartographier des données linguistiques avec Python – 2

Lorsqu’on sait produire une carte avec des données représentées par des points, il est très simple d’ajouter plusieurs séries de données correspondant à autant de séries de points. Pour améliorer la lisibilité de l’ensemble, il peut devenir intéressant (voire indispensable) de ne pas afficher la totalité des données simultanément.

Pour les cartes créées avec folium, c’est ce que permet de faire la classe LayerControl().

Continuer la lecture de « Cartographier des données linguistiques avec Python – 2 »

Cartographier des données linguistiques avec Python – 1

Certaines recherches en linguistique peuvent donner lieu à une collecte de données géographiques, et bénéficieraient alors grandement d’une représentation visuelle sous forme de carte.

Même sans grandes connaissances de la géomatique, il est possible de produire des représentations cartographiques, certes basiques mais informatives. Pour commencer, je vous présente dans cet article comment produire, à partir d’un fichier CSV, une carte en HTML avec des données représentées par des points, en Python 3.

Continuer la lecture de « Cartographier des données linguistiques avec Python – 1 »

Didόmena dans votre carnet Hypothèses

Didόmena est un entrepôt de données collaboratif qui permet aux membres des unités de recherche sous tutelle de l’EHESS de stocker durablement leurs données, mais aussi de les partager. Comme l’indiquent le site ainsi que la plaquette de présentation de la plateforme, “les données y sont décrites selon les standards de l’information scientifique et technique”, qui respectent les principes FAIR : Findable, Accessible, Interoperable, Reusable.

Il est notamment très simple d’afficher un jeu de données de Didόmena sur un carnet Hypothèses. Voici comment faire.

Continuer la lecture de « Didόmena dans votre carnet Hypothèses »

Sélecteur 1000 langues en HTML

Pour créer des questionnaires ou formulaires relatifs à des projets de recherche en linguistique, il est parfois nécessaire de proposer à l’utilisateur/utilisatrice de renseigner une ou plusieurs langue(s) : par exemple pour indiquer quelle(s) langue(s) lui sont connues, lister les langues présentes dans son environnement à une période donnée, spécifier quelle(s) langue(s) elle ou il utilise selon les contextes, renseigner dans quelle(s) langue(s) est rédigé un document donné, etc. Il est beaucoup plus simple, notamment pour analyser ensuite les réponses fournies, de disposer d’une liste de référence affichée sous forme de liste déroulante plutôt que de recueillir une réponse sous forme de texte libre.

Je vous présente ici un sélecteur prêt à l’emploi, au format HTML, qui permet de faire un choix parmi une liste de 1193 langues différentes.

Continuer la lecture de « Sélecteur 1000 langues en HTML »

Parser un flux de syndication avec Python

En faisant des recherches pour l’écriture d’un programme, je suis tombé par hasard sur la documentation de feedparser, qui permet de lire les informations d’un flux RSS (ou Atom) avec Python. Ce n’était pas ce que je cherchais, mais j’ai quand même voulu tester, à titre informatif : il s’avère que c’est extrêmement simple.

Continuer la lecture de « Parser un flux de syndication avec Python »

Webinaires AFLA 2020

Deux webinaires ont été proposés la semaine dernière par l’Association Française de Linguistique Appliquée (AFLA). Il est maintenant possible de revoir librement les enregistrements1.

Le thème de la première séance était « Les langues des familles dans l’éducation en temps de crise (et au-delà…) », présenté par Nathalie Blanc2 et Jean-Luc Vidalenc3. Cette séance était animée par Grégory Miras4.

La seconde séance portait sur le thème « Parole publique en temps de crise », présenté par Albin Wagener5, accompagné par Julien Longhi6.

Ces webinaires ont été organisés par Julien Longhi (CY Cergy Paris Université) & Grégory Miras (Univ. de Rouen Normandie) avec le soutien de Julie Mesnildrey (Univ. de Rouen Normandie).

Citer ce billet : “Webinaires AFLA 2020”, par Alexander Delaporte. Publié sur Tekipaki le 02/06/2020. Lien : https://tekipaki.hypotheses.org/358.
  1. Ces enregistrements sont mis à disposition par l’AFLA et l’Université de Rouen Normandie. Je n’en suis absolument pas l’auteur, j’ai simplement demandé le droit de les présenter sur mon carnet. []
  2. INSPE – Univ. Lyon I []
  3. Enseignant et formateur []
  4. Univ. Rouen Normandie []
  5. Univ. Rennes 2/Inalco []
  6. CY Cergy Paris Université []