API:Random/fr
![]() | Cette page fait partie de la documentation de l'API MediaWiki Action. |
Version de MediaWiki : | ≥ 1.12 |
Requête GET pour afficher une liste de pages aléatoires.
Ce module peut être utilisé en tant que générateur .
Documentation de l'API
![]() | La documentation qui suit est le résultat de Special: |
list=random (rn)
- This module requires read rights.
- This module can be used as a generator.
- Source: MediaWiki
- License: GPL-2.0-or-later
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.
- rnnamespace
Return pages in these namespaces only.
- Values (separate with | or alternative): 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, 2600, 5500, 5501
- To specify all values, use *.
- rnfilterredir
How to filter for redirects.
- One of the following values: all, nonredirects, redirects
- Default: nonredirects
- rnminsize
Limit to pages with at least this many bytes.
- Type: integer
- rnmaxsize
Limit to pages with at most this many bytes.
- Type: integer
- rncontentmodel
Filter pages that have the specified content model.
- One of the following values: GadgetDefinition, Json.JsonConfig, JsonSchema, MassMessageListContent, NewsletterContent, Scribunto, SecurePoll, css, flow-board, javascript, json, sanitized-css, text, translate-messagebundle, unknown, wikitext
- rnredirect
- Deprecated.
Use rnfilterredir=redirects instead.
- Type: boolean (details)
- rnlimit
Limit how many random pages will be returned.
- Type: integer or max
- The value must be between 1 and 500.
- Default: 1
- rncontinue
When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.
- Return two random pages from the main namespace.
- api.php?action=query&list=random&rnnamespace=0&rnlimit=2 [open in sandbox]
- Return page info about two random pages from the main namespace.
- api.php?action=query&generator=random&grnnamespace=0&grnlimit=2&prop=info [open in sandbox]
- Return page info about one random page from the main namespace that has at least 500 bytes of text.
- api.php?action=query&list=random&rnnamespace=0&rnlimit=1&minsize=500 [open in sandbox]
Exemple
Requête GET
Réponse
{
"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"
}
]
}
}
Exemple de code
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 );
}
} );
Historique des paramètres
- v1.26: La précédente limite de 10/20 sur
rnlimit
a été augmentée à la limite standard de 500/5000. - v1.26:
rnredirect
obsolète - v1.26:
rnfilterredir
ajouté - v1.14:
rnredirect
ajouté
Notes supplémentaires
- A la différence de la plupart des modules de API action , le nombre de pages retournées par défaut est de 1 (et non 10).
- Les pages sont renvoyées dans un ordre fixe; seul le point de départ est actuellement aléatoire.
- Le comportement par défaut est de choisir les pages dans le wiki entier, y compris les pages de discussion, les pages utilisateur, et similaires. Si vous cherchez des fonctions semblables comme Special:Random, choisissez par exemple des articles au hasard et restreignez
rnnamespace
à0
. - Si le nombre de pages est inférieur à
rnlimit
, la requête retourne simplement toutes les pages disponibles. Cela ne répètera pas les pages en complétant la réponse pour atteindre la limite.
Voir aussi
- Manuel:Page aléatoire - décrit comment configurer l'API dans le système.