API:Všechna přesměrování
| Akce API MediaWiki |
|---|
| Základní informace |
| Přihlášení |
| Uživatelské účty a uživatelé |
| Operace spojené se stránkou |
|
| Vyhledávání |
| Nástroje pro vývojáře |
| Návody |
| v · d · u |
GET požadavek pro zobrazení všech přesměrování. Všechny filtry dostupné s tímto API ovlivňují cíle přesměrování, nikoli zdroje přesměrování.
Tento modul lze použít jako zdroj .
Pokud je použit jako generátor, názvy použité pro generátor pocházejí ze zdrojů přesměrování namísto cílů přesměrování, pokud není použit parametr garunique.
Dokumentace API
list=allredirects (ar)
- This module requires read rights.
- This module can be used as a generator.
- Source: MediaWiki
- License: GPL-2.0-or-later
List all redirects to a namespace.
- arcontinue
When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.
- arfrom
The title of the redirect to start enumerating from.
- arto
The title of the redirect to stop enumerating at.
- arprefix
Search for all target pages that begin with this value.
- arunique
Only show distinct target pages. Cannot be used with arprop=ids|fragment|interwiki.
When used as a generator, yields target pages instead of source pages.
- Type: boolean (details)
- arprop
Which pieces of information to include:
- ids
- Adds the page ID of the redirecting page (cannot be used with arunique).
- title
- Adds the title of the redirect.
- fragment
- Adds the fragment from the redirect, if any (cannot be used with arunique).
- interwiki
- Adds the interwiki prefix from the redirect, if any (cannot be used with arunique).
- Values (separate with | or alternative): fragment, ids, interwiki, title
- Default: title
- arnamespace
The namespace to enumerate.
- One of the following values: -1, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 90, 91, 92, 93, 100, 101, 102, 103, 104, 105, 106, 107, 710, 711, 828, 829, 1198, 1199, 1728, 1729, 2600, 5500, 5501
- Default: 0
- arlimit
How many total items to return.
- Type: integer or max
- The value must be between 1 and 500.
- Default: 10
- ardir
The direction in which to list.
- One of the following values: ascending, descending
- Default: ascending
- List target pages, including missing ones, with page IDs they are from, starting at B.
- api.php?action=query&list=allredirects&arfrom=B&arprop=ids|title [open in sandbox]
- List unique target pages.
- api.php?action=query&list=allredirects&arunique=&arfrom=B [open in sandbox]
- Gets all target pages, marking the missing ones.
- api.php?action=query&generator=allredirects&garunique=&garfrom=B [open in sandbox]
- Gets pages containing the redirects.
- api.php?action=query&generator=allredirects&garfrom=B [open in sandbox]
Vstupní parametry arfrom, arto a arprefix filtrují podle cílového názvu přesměrování bez jmenného prostoru.
K těmto parametrům nesmí být přidán jmenný prostor, jinak API vrátí chybu invalidtitle.
To znamená, že tyto parametry efektivně filtrují názvy v hlavním jmenném prostoru, pokud parametr arnamespace nevybere jiný jmenný prostor, což by ovlivnilo názvy v tomto jmenném prostoru.
Příklad
Dotazování přes GET
Odpověď
Vrácený název i jmenný prostor odkazují na cíl přesměrování, nikoli na samotné přesměrování.
{ "batchcomplete":"", "continue":{ "arcontinue":"!Women_Art_Revolution", "continue":"-||" }, "query":{ "allredirects":[ { "ns":0, "title":"!Action Pact!" }, { "ns":0, "title":"!Arriba! La Pachanga" }, { "ns":0, "title":"!Hero" } ] } }
Ukázkový kód
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 """ importrequests 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 */ varurl="https://en.wikipedia.org/w/api.php"; varparams={ 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){returnresponse.json();}) .then(function(response){ varredirects=response.query.allredirects; for(varrinredirects){ 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 */ varparams={ action:'query', format:'json', list:'allredirects', arunique:'1', arnamespace:'0', arlimit:'3' }, api=newmw.Api(); api.get(params).done(function(data){ varredirects=data.query.allredirects, r; for(rinredirects){ console.log(redirects[r].title); } });
Další poznámky
- Jmenné prostory a jejich čísla lze získat na stránce Příručka:Jmenný prostor .
Související odkazy
- API:Přesměrování – seznam všechna přesměrování na danou stránku (stránky).