63 votes

Comment utiliser l'API de Wikipedia, si elle existe ?

Je cherche à savoir s'il existe une API Wikipedia (je pense qu'elle est liée à MediaWiki?).

Si c'est le cas, j'aimerais savoir comment demander à Wikipedia de me donner un article sur les New York Yankees par exemple.

Quelle serait l'URL REST pour cet exemple?

Tous les documents sur ce sujet semblent assez compliqués.

5 votes

La partie "si elle existe" est également traitée ici : stackoverflow.com/questions/627594/is-there-a-wikipedia-api. Mais je pense que la partie "comment l'utiliser" est une question légitime... en quelque sorte.

0 votes

Il existe désormais un package R qui accède à l'API de Mediawiki (et donc à Wikipedia), plus de détails et un exemple: stackoverflow.com/a/24027866/1036500

82voto

Shadi Almosri Points 3915

Vous avez vraiment besoin de passer un peu de temps à lire la documentation, car cela m'a pris un moment pour chercher et cliquer sur le lien pour le corriger. :/ mais par sympathie, je vous fournirai un lien que vous pourrez peut-être apprendre à utiliser.

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=New_York_Yankees&rvprop=timestamp|user|comment|content

C'est la variable que vous chercherez à obtenir. Votre meilleure option est de connaître la page que vous rechercherez et de remplacer le lien de Wikipédia par le titre, par exemple :

http://en.wikipedia.org/wiki/New_York_Yankees [Prenez la partie après wiki/]

-->

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=New_York_Yankees&rvprop=timestamp|user|comment|content

[Placez-le dans la variable de titre de la requête GET.

L'URL ci-dessus peut être ajustée pour obtenir les différentes sections que vous voulez ou ne voulez pas. Alors lisez la documentation :)

19 votes

+1 pour un exemple concret, plutôt que de simplement partager des liens (même si l'exemple est lui aussi un lien... :)

6 votes

Un SUPER ENDROIT pour commencer est avec le bac à sable de wikipedia. Il peut vous aider à formater vos demandes/requêtes : en.wikipedia.org/wiki/Spécial:ApiSandbox

3 votes

Que se passe-t-il si je ne connais pas la page spécifique? Par exemple, si je veux rechercher le groupe Iron Maiden? La page pourrait être "iron maiden", "Iron Maiden", "Iron Maiden band". Comment puis-je rechercher cela?

67voto

Andy Groff Points 1516

Les réponses ici m'ont aidé à arriver à une solution, mais j'ai découvert plus d'informations dans le processus qui pourraient être avantageuses pour d'autres personnes qui trouvent cette question. Je suppose que la plupart des gens veulent simplement utiliser l'API pour obtenir rapidement du contenu de la page. Voici comment je le fais :

Utilisation des Révisions :

//url fonctionnelle :
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Threadless&rvprop=content&format=json&rvsection=0&rvparse=1

//Explication
//URL de base :
http://en.wikipedia.org/w/api.php?action=query

//indiquez-lui d'obtenir des révisions :
&prop=revisions

//définir les titres des pages séparés par des barres verticales. Dans l'exemple j'ai utilisé la société de t-shirts Threadless
&titles=quel|est|le|titre

//spécifiez que nous voulons le contenu de la page
&rvprop=content

//Je veux mes données en JSON, par défaut c'est XML
&format=json

//vous permet de choisir la section que vous voulez. 0 est la première.
&rvsection=0

//dit à Wikipedia de le parser en html pour vous
&rvparse=1

Utilisation d'Extraits (meilleur/plus facile pour ce que je fais)

//url fonctionnelle :
http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=Threadless&format=json&exintro=1

//explication des nouveaux paramètres uniquement
//au lieu de révisions, nous définirons prop=extraits
&prop=extraits

//si nous voulons juste l'introduction, nous pouvons utiliser exintro. Sinon, il affiche toutes les sections
&exintro=1

Toutes les informations nécessitent de lire la documentation de l'API comme il a été mentionné, mais j'espère que ces exemples aideront la majorité des personnes qui viennent ici pour une solution rapide.

0 votes

La première URL fonctionnelle fournie vous permet également de récupérer l'infobox de la page wiki! Merci

0 votes

Salut, y a-t-il un moyen d'obtenir le texte brut de la description principale ?? Il est très difficile d'analyser les réponses en wikitext ou en HTML :(. Toute aide sera grandement appréciée s'il vous plaît.

13voto

drdaeman Points 3312

Voir http://www.mediawiki.org/wiki/API

Plus précisément, pour la Wikipedia en anglais, l'API est située à http://en.wikipedia.org/w/api.php

3 votes

Oui, je ne peux pas comprendre comment faire mon exemple après avoir lu cela. des idées ?

3 votes

Non, je ne peux vraiment pas comprendre ce document. Je ne sais pas comment obtenir des données de page spécifiques en utilisant cette API.

3 votes

Vous ne pouvez pas réellement. Pour obtenir la source brute de l'article, vous devez accéder aux articles de cette façon : mediawiki.org/w/index.php?title=API&action=raw

10voto

Jetez un coup d'œil à l'ApiSandbox sur https://en.wikipedia.org/wiki/Special:ApiSandbox C'est une interface web pour interroger facilement l' API. Quelques clics vous permettront de générer l'URL et de vous montrer le résultat de l'API.

C'est une extension pour MediaWiki, activée sur toutes les langues de Wikipedia. https://www.mediawiki.org/wiki/Extension:ApiSandbox

8voto

Maksym Kozlenko Points 4557

Si vous souhaitez extraire des données structurées de Wikipedia, vous pouvez envisager d'utiliser DbPedia http://dbpedia.org/

Il permet de consulter des données en utilisant des critères donnés à l'aide de SPARQL et renvoie des données des modèles d'infobox Wikipedia analysés

Il existe des bibliothèques SPARQL disponibles pour plusieurs plateformes pour faciliter les requêtes

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X