API:Alle Links
Diese Seite ist Teil der Dokumentation der MediaWiki action API. |
MediaWiki Version: | ≥ 1.11 |
GET-Abfrage um Links aufzulisten, die auf einen bestimmten Namensraum verweisen, geordnet nach Titel.
Dieses Modul kann als Generator benutzt werden.
API-Dokumentation
Beispiel
Standardmäßig wird dieses Modul Duplikate ausgeben, wenn eine Seite mehrere Links auf den gleichen Namensraum enthält.
Dieses Beispiel nutzt alunique=1
, um alle doppelten Titel in der Antwort zu entfernen.
GET-Anfrage
Listet unterschiedliche Links (d.h. keine Duplikate) auf, die auf den Hauptnamensraum verweisen.
api.php? action=query& format=json& list=alllinks& alnamespace=0& alunique=1 [In der ApiSandbox ausprobieren]
Antwort
{
"batchcomplete": "",
"continue": {
"alcontinue": "!!!!Hashtagging",
"continue": "-||"
},
"query": {
"alllinks": [
{
"ns": 0,
"title": "!"
},
{
"ns": 0,
"title": "!!"
},
{
"ns": 0,
"title": "!!!"
},
...
}
Beispielcode
Python
#!/usr/bin/python3
"""
get_alllinks.py
MediaWiki API Demos
Demo of `Alllinks` module: List links pointing to the given namespace.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"list": "alllinks",
"alnamespace": "0",
"alunique": "1"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
LINKS = DATA["query"]["alllinks"]
for l in LINKS:
print(l["title"])
PHP
<?php
/*
get_alllinks.php
MediaWiki API Demos
Demo of `Alllinks` module: List links pointing to the given namespace.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "alllinks",
"alnamespace" => "0",
"alunique" => "1"
];
$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"]["alllinks"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
JavaScript
/*
get_alllinks.js
MediaWiki API Demos
Demo of `Alllinks` module: List links pointing to the given namespace.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
list: "alllinks",
alnamespace: "0",
alunique: "1"
};
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 links = response.query.alllinks;
for (var l in links) {
console.log(links[l].title);
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_alllinks.js
MediaWiki API Demos
Demo of `Alllinks` module: List links pointing to the given namespace.
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'alllinks',
alnamespace: '0',
alunique: '1'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var links = data.query.alllinks,
l;
for ( l in links ) {
console.log( links[ l ].title );
}
} );
Mögliche Fehler
Code | Information |
---|---|
badcontinue | Invalid continue param. You should pass the original value returned by the previous query. |
invalidparammix | The alprop=ids parameter cannot be used with alunique. Dies passiert, wenn du
alprop=ids und alunique zusammen nutzt |
Zusätzliche Anmerkungen
- Wie bei anderen Link-Modulen in der Action API gibt dieses Modul die Titel von Seiten aus, die auf den Namensraum verweisen, nicht die genauen URLs zu diesen Seiten.
- Dieses Modul kann als Generator benutzt werden.
- Vorherige Versionen würden einen Fehler ausgeben, wenn der Benutzer versucht, dieses Modul als Generator zu nutzen und
alunique
auf true gesetzt wurde. Dies wurde in v1.24 geändert, um die Nutzung des Moduls als Generator auch dann zu erlauben, wennalunique
true ist.
Siehe auch
- API:Rücklinks - listet Links auf eine bestimmte Seite auf.
- API:Links hierher - ähnlich wie API:Rücklinks , erhält Links auf eine bestimmte Seite. Beachte, dass API:Links hierher im Gegensatz zu API:Rücklinks , 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:Links - ruft Links auf eine bestimmte Seite oder Seiten ab.