API:Opensearch
Appearance
| Cette page fait partie de la documentation de l'API MediaWiki Action. |
Requête GET pour rechercher dans le wiki et obtenir des résultats au format OpenSearch.
Vous ne devez utiliser cette API que si vous développez un navigateur web. Ceci va vous permettre d'indiquer que vous voulez obtenir les résultats dans un format standard et accessible compatible avec la syndication ou l'aggrégation.
Documentation de l'API
action=opensearch(main | opensearch)
Search the wiki using the OpenSearch protocol. Specific parameters: Other general parameters are available.
Example:
|
Exemple
Requête GET
Réponse
[
"Hampi",
[
"Hampi",
"Hampi (town)",
"Hampi Express",
...
],
[
"Hampi, also referred to as the Group of Monuments at Hampi, is a UNESCO World Heritage Site located in east-central Karnataka, India.",
"Hampi is a town in Hospet taluk of the Ballari district in the Indian state of Karnataka. Located along the Tungabhadra River in the east and center part of the state, near the border of Andhra Pradesh, Hampi is near the city of Hosapete.",
"The Hampi Express is a daily express train running between the Mysooru and Hubballi Junction, the headquarters of the South Western Railway in India.",
...
],
[
"https://en.wikipedia.org/wiki/Hampi",
"https://en.wikipedia.org/wiki/Hampi_(town)",
"https://en.wikipedia.org/wiki/Hampi_Express",
...
]
]
Exemple de code
Python
#!/usr/bin/python3
"""
opensearch.py
MediaWiki API Demos
Demo of `Opensearch` module: Search the wiki and obtain
results in an OpenSearch (http://www.opensearch.org) format
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "opensearch",
"namespace": "0",
"search": "Hampi",
"limit": "5",
"format": "json"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
print(DATA)
PHP
<?php
/*
opensearch.php
MediaWiki API Demos
Demo of `Opensearch` module: Search the wiki and obtain
results in an OpenSearch (http://www.opensearch.org) format
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "opensearch",
"search" => "Hampi",
"limit" => "5",
"namespace" => "0",
"format" => "json"
];
$url = $endPoint . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $output, true );
var_dump( $result );
JavaScript
/*
opensearch.js
MediaWiki API Demos
Demo of `Opensearch` module: Search the wiki and obtain
results in an OpenSearch (http://www.opensearch.org) format
MIT License
*/
export async function getWikiSearch() {
const params = {
action: "opensearch",
search: "Hampi",
limit: "5",
namespace: "0",
format: "json",
};
const url =
"https://en.wikipedia.org/w/api.php?origin=*&" +
new URLSearchParams(params).toString();
try {
const data = await (await fetch(url)).json();
console.log(data);
} catch (error) {
console.error("Fetch error:", error);
}
}
MediaWiki JS
/*
opensearch.js
MediaWiki API Demos
Demo of `Opensearch` module: Search the wiki and obtain
results in an OpenSearch (http://www.opensearch.org) format
MIT License
*/
var params = {
action: 'opensearch',
search: 'Hampi',
limit: '5',
namespace: '0',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
console.log( data );
} );
Erreurs possibles
| Code | Information |
|---|---|
| nosearch | Le paramètre search doit être défini. |
| unknown_format | Valeur non reconnue du paramètre format: aaa. |
Notes supplémentaires
Correspondant à cette API, voici quelques pointeurs supplémentaires pour les administrateurs de site et les développeurs d'extensions de MediaWiki :
- Extension:TitleKey - permettent que les suggestions de recherche à partir de cette API ne soient pas sensibles à la casse.
- Extension:TextExtracts et
$wgExtractsExtendOpenSearchXmlconfigurés à true dansLocalSettings.phpva permettre que chaque élément du format XML puisee inclure une balise<Description>avec un texte extrait de l'article. - Extension:PageImages and
$wgPageImagesExpandOpenSearchXmlconfigured as true inLocalSettings.phpwould allow each item in the XML format to include an<Image>tag with a thumbnail image from the article.