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, arriba, solo se devuelven enlaces directos a la página de filosofía.
Cuando se establece blredirect
, la respuesta incluirá las páginas que enlacen hacia atrás para redirigir el valor en bltitle
.
Estos vínculos de retroceso 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 vínculos de retroceso directos y hasta 25 vínculos de retroceso dentro de cada redirección individual.
Además, el uso de blcontinue
cuando hubo una redirección en la respuesta devolverá más vínculos de retroceso de segundo nivel, antes de pasar finalmente a vínculos de retroceso más directos, una vez que todos los vínculos de retroceso para una redirección se hayan devuelto por completo.
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
. Mira 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
prop
que encuentra todas las páginas que
transclude (es decir, inserta información de) las páginas dadas.
- API:Incrustado - un módulo
list
que lista los vínculos de retroceso a través de la transclusión, similar a Special:Whatlinkshere. - API:Imageusage - páginas de listas que usan las imágene(s) dada(s).
- API:Fileusage - Páginas de listas que usan el archivo(s) dado(s).
- API:Globalusage - lists pages on other wikis that use the given file(s), similar to Special:GlobalUsage.