API:Alle Weiterleitungen
Diese Seite ist Teil der Dokumentation der MediaWiki action API. |
MediaWiki Version: | ≥ 1.23 |
GET-Abfrage um alle Weiterleitungen zu einem Namensraum aufzulisten. All filters available with this API affect the redirect targets and not the redirect sources.
Dieses Modul kann als Generator benutzt werden.
When used as a generator, the titles used for the generator are from the redirect sources instead of the redirect targets, unless the garunique
parameter is used.
API-Dokumentation
The arfrom
, arto
and arprefix
input parameters filter by the target redirect title without namespace.
A namespace must not be added to those parameters, otherwise the API returns an invalidtitle
error.
This means those parameters effectively filter titles in the main namespace, unless a different namespace is selected by the arnamespace
parameter, which would affect titles in that namespace.
Beispiel
GET-Anfrage
Antwort
Both the title and namespace returned refer to the redirect target and not the redirect itself.
{
"batchcomplete": "",
"continue": {
"arcontinue": "!Women_Art_Revolution",
"continue": "-||"
},
"query": {
"allredirects": [
{
"ns": 0,
"title": "!Action Pact!"
},
{
"ns": 0,
"title": "!Arriba! La Pachanga"
},
{
"ns": 0,
"title": "!Hero"
}
]
}
}
Beispielcode
Python
#!/usr/bin/python3
"""
get_allredirects.py
MediaWiki API Demos
Demo of `Allredirects` module: Get the first three unique pages containing
redirects to the main namespace.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"list": "allredirects",
"arunique": "1",
"arnamespace": "0",
"arlimit": "3"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
REDIRECTS = DATA["query"]["allredirects"]
for r in REDIRECTS:
print(r["title"])
PHP
<?php
/*
get_allredirects.php
MediaWiki API Demos
Demo of `Allredirects` module: Get the first three unique pages containing redirects to the main namespace.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "allredirects",
"arunique" => "1",
"arnamespace" => "0",
"arlimit" => "3"
];
$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"]["allredirects"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
JavaScript
/*
get_allredirects.js
MediaWiki API Demos
Demo of `Allredirects` module: Get the first three unique pages containing redirects to the main namespace.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
list: "allredirects",
arunique: "1",
arnamespace: "0",
arlimit: "3"
};
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 redirects = response.query.allredirects;
for (var r in redirects) {
console.log(redirects[r].title);
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_allredirects.js
MediaWiki API Demos
Demo of `Allredirects` module: Get the first three unique
pages containing redirects to the main namespace.
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'allredirects',
arunique: '1',
arnamespace: '0',
arlimit: '3'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var redirects = data.query.allredirects,
r;
for ( r in redirects ) {
console.log( redirects[ r ].title );
}
} );
Zusätzliche Anmerkungen
- Namensräume und ihre Nummern können über Handbuch:Namensraum erhalten werden.
Siehe auch
- API:Weiterleitungen - Listet alle Weiterleitungen auf eine bestimmte Seite(n) auf.