API:Rücklinks
Diese Seite ist Teil der Dokumentation der MediaWiki action API. |
MediaWiki Version: | ≥ 1.9 |
GET-Abfrage um Seiten aufzulisten, die auf eine bestimmte Seite verlinken.
API-Dokumentation
Beispiel
GET-Anfrage
Antwort
{
"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"
},
...
]
}
}
Beispielcode
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 );
}
} );
Weiterleitungen
Im obigen Beispiel werden nur direkte Links auf die Seite Philosophy ausgegeben.
Wenn blredirect
gesetzt wird, wird die Antwort alle Seiten umfassen, die auf Weiterleitungen für den Wert in bltitle
verlinken.
Diese Rücklinks auf Weiterleitungen werden in der Antwort als eigene Gruppe behandelt und befinden sich in der Hierarchie eine Stufe unter der Weiterleitung selbst.
Das in bllimit
gesetzte Limit bezieht sich separat auf jede Antwortstufe, sodass bllimit=25
bis zu 25 direkte Rücklinks und bis zu 25 Rücklinks über jede einzelne Weiterleitung ausgeben würde.
Zusätzlich können durch Nutzung von blcontinue
, wenn es in der Antwort eine Weiterleitung gab, weitere Rücklinks der zweiten Stufe ausgegeben werden, bevor mit weiteren direkten Rücklinks fortgefahren wird, nachdem alle Rücklinks für eine Weiterleitung vollständig ausgegeben wurden.
Mögliche Fehler
Code | Information |
---|---|
blbadcontinue | Invalid continue param. You should pass the original value returned by the previous query. |
Siehe auch
- API:Links hierher - findet alle Seiten, die auf eine bestimmte Seite verlinken. Beachte, dass API:Linkshere im Gegensatz zu API:Backlinks, das ein
list
-Modul ist, einprop
-Modul ist. Siehe die entsprechenden Seiten zu API:Eigenschaften und API:Listen dazu, wie sich diese zwei Arten von Modulen unterscheiden. - API:Einbindungen - ein
prop
-Modul, das alle Seiten findet, die die gegebenen Seiten einbinden (d.h. Informationen dieser Seiten einbinden). - API:Eingebunden in - ein
list
-Modul, das Rücklinks über Einbindungen auflistet, vergleichbar mit Special:Whatlinkshere. - API:Bildnutzung - listet Seiten auf, die das angegebene Bild oder die angegebenen Bilder nutzen.
- API:Dateinutzung - listet Seiten auf, die die angegebene Datei oder die angegebenen Dateien nutzen.
- API:Globalusage - lists pages on other wikis that use the given file(s), similar to Special:GlobalUsage.