API:Random
![]() | Bu sayfa MediaWiki Eylem API'si belgelerinin bir parçasıdır. |
MediaWiki sürümü: | ≥ 1.12 |
Rastgele sayfaların listesini görüntülemek için GET isteği.
Bu modül jeneratör olarak kullanılabilir.
API belgesi
list=random (rn)
Get a set of random pages. Pages are listed in a fixed sequence, only the starting point is random. This means that if, for example, Main Page is the first random page in the list, List of fictional monkeys will always be second, List of people on stamps of Vanuatu third, etc. Specific parameters: Other general parameters are available.
Examples:
|
Örnek
GET isteği
5 rastgele sayfa listele
Yanıt
{
"batchcomplete": "",
"continue": {
"rncontinue": "0.559881820010|0.559881954661|47659388|0",
"continue": "-||"
},
"query": {
"random": [
{
"id": 32381675,
"ns": 0,
"title": "Mallabhum Institute of Technology"
},
{
"id": 25126452,
"ns": 3,
"title": "User talk:96.232.132.176"
},
{
"id": 1440028,
"ns": 0,
"title": "Hyundai Epsilon engine"
},
{
"id": 35446805,
"ns": 15,
"title": "Category talk:Ukrainian card games"
},
{
"id": 12613,
"ns": 0,
"title": "Grue"
}
]
}
}
Örnek kod
Python
#!/usr/bin/python3
"""
get_random.py
MediaWiki API Demos
Demo of `Random` module: Get request to list 5 random pages.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"list": "random",
"rnlimit": "5"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
RANDOMS = DATA["query"]["random"]
for r in RANDOMS:
print(r["title"])
PHP
<?php
/*
get_random.php
MediaWiki API Demos
Demo of `Random` module: Get request to list 5 random pages.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "random",
"rnlimit" => "5"
];
$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"]["random"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
JavaScript
/*
get_random.js
MediaWiki API Demos
Demo of `Random` module: Get request to list 5 random pages.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
list: "random",
rnlimit: "5"
};
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 randoms = response.query.random;
for (var r in randoms) {
console.log(randoms[r].title);
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_random.js
MediaWiki API Demos
Demo of `Random` module: Get request to list 5 random pages.
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'random',
rnlimit: '5'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var randoms = data.query.random,
r;
for ( r in randoms ) {
console.log( randoms[ r ].title );
}
} );
Parametre geçmişi
- v1.26: Önceki
rnlimit
üzerindeki 10/20 sınırı, standart 500/5000 sınırlarına yükseltildi. - v1.26:
rnredirect
kullanımdan kaldırıldı - v1.26:
rnfilterredir
tanıtıldı - v1.14:
rnredirect
tanıtıldı
Ek notlar
- Eylem API içindeki çoğu modülün aksine, döndürülen varsayılan sayfa sayısı 10 değil, 1'dir.
- Sayfalar sabit bir sırayla döndürülür; sadece başlangıç noktası rastgeledir.
- Varsayılan davranış, tartışma sayfaları, kullanıcı sayfaları vb. dahil olmak üzere tüm viki içinden sayfa seçmektir. Special:Random ile benzer işlevler arıyorsanız, yani rastgele maddeleri seçin,
rnnamespace
ile0
arasında kısıtlayın. - Sayfa sayısı
rnlimit
daha az ise, istek tüm kullanılabilir sayfaları döndürür. Sınıra kadar yanıtı doldurmak için sayfaları tekrarlamaz.
Ayrıca bakınız
- Manual:Random page - arka uçta API'nin nasıl yapılandırılacağını açıklar.