API:Allredirects
このページは MediaWiki 操作 API の説明文書の一部です。 |
MediaWiki バージョン: | ≧ 1.23 |
リダイレクトをすべて列挙する GET リクエストです。 All filters available with this API affect the redirect targets and not the redirect sources.
This module can be used as a generator .
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の説明文書
list=allredirects (ar)
List all redirects to a namespace. Specific parameters: Other general parameters are available.
Examples:
|
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.
例
GET リクエスト
Get the first three unique pages containing redirects to the main namespace.
レスポンス
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"
}
]
}
}
サンプル コード
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 );
}
} );
追加的な注記
- 名前空間およびその番号は Manual:名前空間 で取得できます。
関連項目
- API:リダイレクト - 指定されたページ (群) へのリダイレクトをすべて列挙します。