API:Усі посилання
Ця сторінка є частиною документації по MediaWiki Action API. |
Версія MediaWiki: | ≥ 1.11 |
Запит GET для переліку посилань, які вказують на даний простір назв , упорядкований за заголовком.
Цей модуль можна використовувати як генератор.
Документація API
Приклад
За замовчуванням цей модуль повертає дублікати, якщо сторінка містить кілька посилань, що вказують на той самий простір назв.
У цьому прикладі використовується alunique=1
, щоб видалити будь-які повторювані заголовки у відповіді.
Запит GET
Перелік окремих посилань (тобто без дублікатів), які вказують на основний простір назв.
Відповідь
{
"batchcomplete": "",
"continue": {
"alcontinue": "!!!!Hashtagging",
"continue": "-||"
},
"query": {
"alllinks": [
{
"ns": 0,
"title": "!"
},
{
"ns": 0,
"title": "!!"
},
{
"ns": 0,
"title": "!!!"
},
...
}
Приклад коду
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 );
}
} );
Можливі помилки
Код | Інформація |
---|---|
badcontinue | Параметр продовження недійсний. Вам треба вказати початкове значення, отримане з попереднього запиту. |
invalidparammix | Параметр alprop=ids не можна використовувати з alunique. Це відбувається, коли ви використовуєте
alprop=ids і alunique разом |
Додаткові примітки
- Як і інші модулі посилань у Action API , цей модуль повертає заголовки сторінок, які посилаються на простір імен, а не точні URI цих сторінок.
- Цей модуль можна використовувати як генератор.
- Попередні версії повертали повідомлення про помилку, якщо користувач намагався запустити цей модуль як генератор, а для
alunique
було встановлено значення true. Це було змінено у версії 1.24, щоб дозволити використовувати модуль як генератор, навіть якщоalunique
відповідає дійсності.
Див. також
- API:Зворотні посилання - перераховує посилання на певну сторінку.
- API:Linkshere - схожий на API:Зворотні посилання , отримує посилання на задану сторінку. Зауважте, що на відміну від API:Зворотні посилання , який є модулем
list
, API:Linkshere є модулемprop
. Перегляньте відповідні сторінки на API:Properties і API:Lists , щоб дізнатися, чим відрізняються ці два види модулів. - API:Links - отримує посилання на певну сторінку або сторінки.