API:Backlinks
| Esta página es parte de la documentación de la API de acciones de MediaWiki. |
| Versión de MediaWiki: | ≥ 1.9 |
Solicitud GET para listar páginas que enlazan a una cierta página.
Documentación de la API
Ejemplo
Solicitud GET
Respuesta
{
"batchcomplete": "",
"continue": {
"blcontinue": "1|987",
"continue": "-||"
},
"query": {
"backlinks": [
{
"pageid": 12,
"ns": 0,
"title": "Anarchism"
},
{
"pageid": 128,
"ns": 1,
"title": "Talk:Atlas Shrugged"
},
{
"pageid": 336,
"ns": 0,
"title": "Altruism"
},
...
]
}
}
Código de ejemplo
Python
#!/usr/bin/python3
"""
get_backlinks.py
MediaWiki API Demos
Demo of `Backlinks` module: Get request to list pages which link to a certain page.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"list": "backlinks",
"bltitle": "philosophy"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
BACKLINKS = DATA["query"]["backlinks"]
for b in BACKLINKS:
print(b["title"])
PHP
<?php
/*
get_backlinks.php
MediaWiki API Demos
Demo of `Backlinks` module: Get request to list pages which link to a certain page.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "backlinks",
"bltitle" => "philosophy"
];
$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 );
foreach( $result["query"]["backlinks"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
JavaScript
/*
get_backlinks.js
MediaWiki API Demos
Demo of `Backlinks` module: Get request to list pages which link to a certain page.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
list: "backlinks",
bltitle: "philosophy"
};
url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});
fetch(url)
.then(function(response){return response.json();})
.then(function(response) {
var backlinks = response.query.backlinks;
for (var b in backlinks) {
console.log(backlinks[b].title);
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_backlinks.js
MediaWiki API Demos
Demo of `Backlinks` module: Get request to list pages which link to a certain page.
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'backlinks',
bltitle: 'philosophy'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var backlinks = data.query.backlinks,
b;
for ( b in backlinks ) {
console.log( backlinks[ b ].title );
}
} );
Redirecciones
En el ejemplo anterior, solo se devuelven enlaces directos a la página de filosofía.
Si se establece blredirect, la respuesta incluirá las páginas que enlacen hacia atrás a redirecciones para el valor de bltitle.
Estos retroenlaces redirigidos se tratan como grupos separados dentro de la jerarquía de respuesta, un nivel por debajo de la redirección misma.
El límite establecido en bllimit se aplica por separado a cada nivel de la respuesta, por lo que bllimit=25 devolvería hasta 25 retroenlaces directos y hasta 25 retroenlaces dentro de cada redirección individual.
Además, al utilizar blcontinue cuando hubo una redirección en la respuesta, se devolverán más retroenlaces de segundo nivel antes de pasar finalmente a más retroenlaces directos, una vez que se hayan devuelto por completo todos los retroenlaces para una redirección.
Posibles errores
| Código | Información |
|---|---|
| blbadcontinue | Parámetro continue no válido. Debes pasar el valor original devuelto por la consulta anterior. |
Véase también
- API:Linkshere – encuentra todas las páginas que enlacen a una página dada. Ten en cuenta que, a diferencia de API:Backlinks, que es un módulo de
list, API:Linkshere es un módulo deprop. Consulta las páginas respectivas en API:Propiedades y API:Listas para ver cómo difieren estos dos tipos de módulos. - API:Transcludedin – un módulo de
propque encuentra todas las páginas que
transcluyen (es decir, insertan información de) las páginas dadas.
- API:Incrustado – un módulo
listque lista los retroenlaces a través de la transclusión, similar a Special:Whatlinkshere. - API:Imageusage – lista páginas que utilizan la o las imágenes dadas.
- API:Fileusage – lista páginas que utilizan el o los archivos dados.
- API:Globalusage – lista páginas de otros wikis que utilizan el o los archivos dados, similar a Special:GlobalUsage.