5. Outils de programmation
5.2. Python
Python est un langage de programmation interprété, créé à la fin des années 1980 par Guido van Rossum. Ce langage de haut niveau est reconnu pour sa syntaxe clair et lisible. Sa polyvalence et sa flexibilité en font un des langages de programmation les plus populaires. Il est notamment très utilisé dans le domaine de la data science et au sein du mouvement Wikimedia.
Il existe de nombreuses ressources Python pour interagir avec le contenu des wikis de Wikimedia Foundation. Ces bibliothèques permettent notamment d'utiliser les API sans avoir à gérer les requêtes HTTP directement. Une bibliothèque populaire est la bibliothèque Wikipedia créée par Jonathan Goldsmith et publiée sous la licence libre de l'Institut de technologie du Massachusetts (MIT). Conçue pour être facile à utiliser. Pour des usages avancés, il faut recourir à la bibliothèque Pywikibot, abondamment utilisée au sein du mouvement Wikimedia.
Exemples
Voici quelques exemples de la bibliothèque Wikipedia que vous pouvez faire tourner dans le jupyter notebook PAWS. Par défaut, pour exécuter une ligne de commande, il faut taper Shift+Entrée. Il est possible de remplacer cela par Entrée à l'aide du menu Settings / Console Run Keystroke / Execute with Enter.
- Installation de la bibliothèque (appelée également package ou librairie) :
pip install wikipedia
- Configuration :
import wikipedia
wikipedia.set_lang("fr")
- Récupérer le résumé introductif de l'article Pomme :
wikipedia.summary("Pomme")
- Récupérer les 3 premières phrases de l'article :
wikipedia.summary("Pomme",sentences=3)
- Récupérer tout le contenu de l'article :
wikipedia.page("Pomme").content
- Récupérer les images de l'article :
wikipedia.page("Pomme").images
- Récupérer les catégories de l'article :
wikipedia.page("Pomme").category
Exemples pour récupérer le contenu de Wikidata à l'aide de la bibliothèque Wikidata de Hong Minhee :
- Installation de la bibliothèque :
pip install wikidata
- Configuration :
from wikidata.client
import Client
client = Client()
- Sélection de l'élément Pomme :
entity = client.get("Q89", load=True)
- Afficher le libellé de l'élément :
entity
- Afficher la description de l'élément :
entity.description
- Afficher le caractère Unicode de l'élément :
unicode_prop = client.get("P487")
unicode
= entity[unicode
_prop]
unicode