API:Alllinks
Appearance
Bu sayfa MediaWiki Eylem API'si belgelerinin bir parçasıdır. |
MediaWiki sürümü: | ≥ 1.11 |
Başlığa göre verilen bir ad alana işaret eden bağlantıları listelemek için GET isteği.
Bu modül bir jeneratör olarak kullanılabilir.
API belgesi
Örnek
Varsayılan olarak, bir sayfa aynı ad alanına işaret eden birden fazla bağlantı içeriyorsa, bu modül kopyaları döndürür.
Bu örnek, yanıttaki yinelenen başlıkları kaldırmak için alunique=1
kullanır.
GET isteği
Ana ad alanına işaret eden farklı bağlantıları (yani, yinelenen kopya yok) listeleyin.
Yanıt
{
"batchcomplete": "",
"continue": {
"alcontinue": "!!!!Hashtagging",
"continue": "-||"
},
"query": {
"alllinks": [
{
"ns": 0,
"title": "!"
},
{
"ns": 0,
"title": "!!"
},
{
"ns": 0,
"title": "!!!"
},
...
}
Örnek kod
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 );
}
} );
Olası hatalar
Kod | Bilgi |
---|---|
badcontinue | Geçersiz devam parametresi. Önceki sorgu tarafından döndürülen orijinal değeri iletmeniz gerekir. |
invalidparammix | alprop=ids parametresi alunique ile kullanılamaz. Birlikte
alprop=ids ve alunique kullandığınızda olur |
Ek notlar
- Eylem API içindeki diğer bağlantı modüllerinde olduğu gibi, bu modül de bu sayfalara yönelik URI'leri değil, ad alanına bağlanan sayfaların başlıklarını döndürür.
- Bu modül bir jeneratör olarak kullanılabilir.
- Kullanıcı bu modülü bir jeneratör olarak çalıştırmayı denerse önceki sürümler bir hata döndürür ve
alunique
true olarak ayarlanırsa. Bu, v1.24'te,alunique
doğru olsa bile, modülün jeneratör olarak kullanılmasına izin vermek için değiştirildi.
Ayrıca bakınız
- API:Backlinks - verilen bir sayfaya olan bağlantıları listeler.
- API:Linkshere - API:Backlinks gibi, belirli bir sayfaya bağlantılar alır.
list
olan API:Backlinks aksine, API:Linkshere 'inprop
bir modül olduğunu unutmayın. Bu iki tür modülün nasıl farklılaştığını görmek için API:Özellikler ve API:Listeler üzerindeki ilgili sayfalara bakın. - API:Links - belirli bir sayfadaki veya sayfalardaki bağlantıları alır.