API:Opensearch
Outdated translations are marked like this.
Esta página es parte de la documentación de la API de acciones de MediaWiki. |
Solicitud GET para buscar la wiki y obtener resultados en un OpenSearch format.
API Documentación
Ejemplo
Solicitud GET
Respuesta
[
"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",
...
]
]
En Wikimedia, las descripciones de wikis están deshabilitadas debido a razones de rendimiento, por lo que la segunda matriz solo contiene cadenas vacías. Ver T241437.
Código de muestra
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
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "opensearch",
search: "Hampi",
limit: "5",
namespace: "0",
format: "json"
};
url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});
fetch(url)
.then(function(response){return response.json();})
.then(function(response) {console.log(response);})
.catch(function(error){console.log(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 );
} );
Errores posibles
Código | Info |
---|---|
nosearch | Se debe establecer el parámetro search. |
unknown_format | Valor no reconocido para el parámetro format: aaa. |
Notas adicionales
En relación con esta API, algunos consejos adicionales para MediaWiki administradores de sitio y desarrolladores de extensiones:
- Extension:TitleKey - permita que las sugerencias de búsqueda de esta API no distingan entre mayúsculas y minúsculas.
- Extensión:TextExtracts y
$wgExtractsExtendOpenSearchXml
configurados como verdaderos enLocalSettings.php
permitirían que cada elemento en el formato XML incluya una etiqueta<Description>
con un extracto de texto del artículo.
- Extension:PageImages y
$wgPageImagesExpandOpenSearchXml
configurados como true enLocalSettings.php
permitirían que cada elemento en formato XML incluya una etiqueta<Image>
con una imagen en miniatura del artículo.