واجهة برمجة التطبيقات:Allpages
هذه الصفحة جزء من توثيق واجهة برمجة تطبيقات ميدياويكي التي تحمل اسم Action. |
إصدار ميدياويكي: | ≥ 1.8 |
طلب GET الغرض منه سرد كافة الصفحات التي تنطبق عليها معايير محددة، داخل Namespace معين.
يمكن استخدام هذه الوحدة البرمجية بصفة مولّد .
توثيق واجهة برمجة التطبيقات
مثال
طلب GET
الحصول على كافة الصفحات التي يحتوي عنوانها على النص «Jungle»، سواء كانت الكلمة كاملة أو جزء من عبارة.
النتيجة
تدرج البنود الموجودة في النتيجة مرتبة ترتيبا أبجديا، حسب عنوان الصفحة.
{
"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"
}
...
]
}
}
عينة من الكود البرمجي
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 );
}
} );
الأخطاء المحتملة
الكود | معلومات |
---|---|
invalidparammix | يمكن استخدام الوسيط prlevel مع prtype فقط. |
انظر أيضا
- Chris G's botclasses/AllPagesBot.php — بوت يتولى استرداد كافة الملفات على موقع ويكي، يستعين بواجهة برمجة التطبيقات هذه
- واجهة برمجة التطبيقات:Categorymembers — يسرد كافة الصفحات داخل تصنيف محدد
- واجهة برمجة التطبيقات:التصنيفات — يسرد كافة التصنيفات المتعلقة بصفحة محددة، التي يمكنها أن تساعد في البحث عن صفحات مشابهة
- واجهة برمجة التطبيقات:Allcategories — يسرد كافة التصنيفات التي تنطبق عليها معايير معينة
- واجهة برمجة التطبيقات:Allimages — يسرد كافة الصور التي تنطبق على أسمائها معايير معينة
- واجهة برمجة التطبيقات:Allusers — يسرد كافة المستخدمين مرتبين ترتيبا أبجديا