API:Allpages
Trang này là một phần của tài liệu MediaWiki API. |
Phiên bản MediaWiki: | ≥ 1.8 |
GET request to list all pages fitting certain criteria, within a given Namespace .
This module can be used as a generator .
API documentation
Example
GET request
Get all pages whose title contains the text "Jungle", in whole or part.
Response
Items in the results are listed in alphabetical order, by page title.
{
"batchcomplete": "",
"continue": {
"apcontinue": "Jungle_(Bakufu_Slump_album)",
"continue": "-||"
},
"query": {
"allpages": [
{
"pageid": 341265,
"ns": 0,
"title": "Jungle"
},
{
"pageid": 56461312,
"ns": 0,
"title": "Jungle-runner"
},
{
"pageid": 18698572,
"ns": 0,
"title": "Jungle/Drum n bass"
},
{
"pageid": 1487899,
"ns": 0,
"title": "Jungle2jungle"
},
{
"pageid": 30391179,
"ns": 0,
"title": "JunglePup"
}
...
]
}
}
Sample code
Python
#!/usr/bin/python3
"""
get_allpages.py
MediaWiki API Demos
Demo of `Allpages` module: Get all pages whose title contains the text
"Jungle," in whole or part.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"list": "allpages",
"apfrom": "jungle",
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
PAGES = DATA["query"]["allpages"]
for page in PAGES:
print(page["title"])
PHP
<?php
/*
get_allpages.php
MediaWiki API Demos
Demo of `Allpages` module: Get all pages whose title contains the text "Jungle," in whole or part.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "allpages",
"apfrom" => "jungle"
];
$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"]["allpages"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
JavaScript
/*
get_allpages.js
MediaWiki API Demos
Demo of `Allpages` module: Get all pages whose title contains the text "Jungle," in whole or part.
MIT License
*/
let url = "https://en.wikipedia.org/w/api.php";
const params = {
action: "query",
format: "json",
list: "allpages",
apfrom: "jungle"
}
url += "?origin=*"
Object.keys(params).forEach((key) => {
url += `&${key}=${params[key]}`
})
fetch(url)
.then((response) => {
return response.json()
})
.then((response) => {
const pages = response.query.allpages
for (let p in pages) {
console.log(pages[p].title)
}
})
.catch((error) => {
console.log(error)
})
MediaWiki JS
/*
get_allpages.js
MediaWiki API Demos
Demo of `Allpages` module: Get all pages whose title contains the text "Jungle,"
in whole or part.
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'allpages',
apfrom: 'jungle'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var pages = data.query.allpages,
p;
for ( p in pages ) {
console.log( pages[ p ].title );
}
} );
Possible errors
Code | Info |
---|---|
invalidparammix | The prlevel parameter may only be used with prtype. |
See also
- Chris G's botclasses/AllPagesBot.php — a bot that retrieves all files on a wiki, utilizing this API
- API:Categorymembers — lists all pages within a category
- API:Categories — lists all categories associated with a certain page, which can aid in finding similar pages
- API:Allcategories — lists all categories fitting a certain criteria
- API:Allimages — lists all images whose file names fit a certain criteria
- API:Allusers — lists all users in alphabetical order