Comment obtenir du contenu Wikipédia en utilisant L'API Wikipédia?
je veux obtenir le premier paragraphe d'un article de Wikipédia.
Quelle est la requête API pour le faire?
9 réponses
voir cette section sur le MediaWiki docs
ce sont les paramètres clés.
prop=revisions&rvprop=content&rvsection=0
rvsection = 0 spécifie de ne retourner que la section de tête.
voir cet exemple.
pour obtenir le HTML, vous pouvez utiliser de même que l'utilisation de l'action=parse http://en.wikipedia.org/w/api.php?action=parse§ion=0&prop=text&page=pizza
notez que vous devrez supprimer tous les modèles ou infoboxes.
voir y a-t-il une API Wikipédia propre pour récupérer le sommaire du contenu? pour les autres solutions proposées. En voici un que j'ai suggéré:
il y a en fait un très beau prop appelé extraits qui peut être utilisé avec des requêtes conçues spécifiquement à cet effet. Les extraits vous permettent d'obtenir des extraits d'articles (texte d'article tronqué). Il y a un paramètre appelé exintro qui peut être utilisé pour récupérer le texte dans la section zéroth (aucun actif supplémentaire comme des images ou des infoboxes). Vous pouvez également récupérer des extraits avec une granularité plus fine comme par un certain nombre de caractères ( échars ) ou par un certain nombre de phrases( expressions )
voici un exemple de requête http://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=Stack%20Overflow et le API sandbox http://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&prop=extracts&format=json&exintro=&titles=Stack%20Overflow pour expérimenter plus avec cette requête.
s'il vous plaît noter que si vous voulez le premier paragraphe spécifiquement, vous avez encore besoin d'obtenir la première étiquette. Cependant, dans cet appel D'API il n'y a pas d'autres atouts comme les images à analyser. Si vous êtes satisfait de cette introduction sommaire, vous pouvez récupérer le texte en exécutant une fonction comme strip_tag de php qui suppriment les balises html.
je le fais de cette façon:
https://en.wikipedia.org/w/api.php?action=opensearch&search=bee&limit=1&format=json
La réponse que vous obtenez est un tableau avec les données, facile à analyser:
[
"bee",
[
"Bee"
],
[
"Bees are flying insects closely related to wasps and ants, known for their role in pollination and, in the case of the best-known bee species, the European honey bee, for producing honey and beeswax."
],
[
"https://en.wikipedia.org/wiki/Bee"
]
]
pour obtenir seulement le premier paragraphe limit=1
est ce dont vous avez besoin.
si vous avez besoin de faire cela pour un grand nombre d'articles, alors au lieu de consulter directement le site web, envisagez de télécharger un dump de base de données Wikipédia et d'y accéder par L'intermédiaire d'une API telle que JWPL .
vous pouvez obtenir L'introduction de L'article dans Wikipedia en questionnant des pages telles que https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&titles=java . Vous avez juste besoin d'analyser le fichier json et le résultat est du texte simple qui a été nettoyé, y compris la suppression des liens et des références.
<script>
function dowiki(place) {
var URL = 'https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=';
URL += "&titles=" + place;
URL += "&rvprop=content";
URL += "&callback=?";
$.getJSON(URL, function (data) {
var obj = data.query.pages;
var ob = Object.keys(obj)[0];
console.log(obj[ob]["extract"]);
try{
document.getElementById('Label11').textContent = obj[ob]["extract"];
}
catch (err) {
document.getElementById('Label11').textContent = err.message;
}
});
}
</script>
vous pouvez télécharger la base de données Wikipédia directement et analyser toutes les pages en XML avec Wiki Parser , qui est une application autonome. Le premier paragraphe est un noeud distinct dans le XML résultant.
alternativement, vous pouvez extraire le premier paragraphe de sa sortie en clair.
vous pouvez utiliser JQuery pour faire cela. D'abord créer l'url avec les paramètres appropriés. Cochez cette option lien pour comprendre la signification des paramètres. Ensuite, utilisez la méthode $.ajax()
pour récupérer les articles. Notez que wikipedia n'autorise pas les requêtes d'origine croisée. C'est pourquoi nous utilisons dataType : jsonp
dans la requête.
var wikiURL = "https://en.wikipedia.org/w/api.php";
wikiURL += '?' + $.param({
'action' : 'opensearch',
'search' : 'your_search_term',
'prop' : 'revisions',
'rvprop' : 'content',
'format' : 'json',
'limit' : 10
});
$.ajax( {
url: wikiURL,
dataType: 'jsonp',
success: function(data) {
console.log(data);
}
} );
vous pouvez utiliser le champ extract_html
du point final du repos sommaire pour ceci: par exemple https://en.wikipedia.org/api/rest_v1/page/summary/Cat .
Note: cela vise simplement le contenu un peu en supprimant la plupart des prononciations, principalement entre parenthèses dans certains cas.