API:Images/bg
Appearance
| This page is part of the MediaWiki Action API documentation. |
| MediaWiki version: | ≥ 1.11 |
GET заявка, която връща списък на вградените мултимедийни файлове на указани страници.
Този модул може да се използва като генератор.
Документация на API
Пример
GET заявка
In the below query, we call the API to get a list of image files embedded on the English Wikipedia's page on Albert Einstein.
Отговор
{
"continue": {
"imcontinue": "736|Albert_Einstein_signature_1934.svg",
"continue": "||"
},
"query": {
"pages": {
"736": {
"pageid": 736,
"ns": 0,
"title": "Albert Einstein",
"images": [
{
"ns": 6,
"title": "File:1919 eclipse positive.jpg"
},
{
"ns": 6,
"title": "File:Albert Einstein's exam of maturity grades (color2).jpg"
},
{
"ns": 6,
"title": "File:Albert Einstein (Nobel).png"
},
...
]
}
}
}
}
Примерен код
Python
#!/usr/bin/python3
"""
get_page_images.py
MediaWiki API Demos
Demo of `Images` module: Send a GET request to obtain a JSON
object listing all of the image files embedded on a single page
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"titles": "Albert Einstein",
"prop": "images"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
PAGES = DATA['query']['pages']
for k, v in PAGES.items():
for img in v['images']:
print(img["title"])
PHP
<?php
/*
get_page_images.php
MediaWiki API Demos
Demo of `Images` module: Send a GET request to obtain a JSON
object listing all of the image files embedded on a single page
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"prop" => "images",
"titles" => "Albert Einstein",
"format" => "json"
];
$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"]["pages"] as $k => $v ) {
foreach( $v["images"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
}
JavaScript
/*
get_page_images.js
MediaWiki API Demos
Demo of `Images` module: Send a GET request to obtain a JSON
object listing all of the image files embedded on a single page
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
prop: "images",
titles: "Albert Einstein",
format: "json"
};
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 pages = response.query.pages;
for (var page in pages) {
for (var img of pages[page].images) {
console.log(img.title);
}
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_page_images.js
MediaWiki API Demos
Demo of `Images` module: Send a GET request to obtain a JSON
object listing all of the image files embedded on a single page
MIT License
*/
var params = {
action: 'query',
prop: 'images',
titles: 'Albert Einstein',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var pages = data.query.pages,
page;
for ( page in pages ) {
pages[ page ].images.forEach( function ( img ) {
console.log( img.title );
} );
}
} );
Демонстрационни приложения
История на параметрите
- v1.13: Добавени
imcontinue,imlimit - v1.18: Добавен
imimages - v1.19: Добавен
imdir
Вижте също
- API:Imageinfo - Gets information for any titles in the image namespace. Will eventually get superseded by
prop=fileinfo. - API:Stashimageinfo - Gets information for stashed images or files in the namespace. Output is identical to API:Imageinfo.
- API:Imageusage - Finds all pages that use the given images.
- API:Duplicatefiles - Lists any duplicates of the given images or files.
- API:Allimages - Lists all images, by title or timestamp.