API:Images
Bu sayfa MediaWiki Eylem API'si belgelerinin bir parçasıdır. |
MediaWiki sürümü: | ≥ 1.11 |
Sağlanan sayfalardaki katıştırılmış medya dosyalarını listelemek için GET isteği.
Bu modül jeneratör olarak kullanılabilir.
API belgesi
Örnek
GET isteği
Aşağıdaki sorguda, İngilizce Vikipedi'nin Albert Einstein sayfasındaki gömülü görüntü dosyalarının bir listesini almak için API'yi arıyoruz.
Yanıt
{
"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"
},
...
]
}
}
}
}
Örnek kod
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 );
} );
}
} );
Demo uygulama(lar)
Parametre geçmişi
- v1.13:
imcontinue
,imlimit
tanıtıldı - v1.18:
imimages
tanıtıldı - v1.19:
imdir
tanıtıldı
Ayrıca bakınız
- API:Imageinfo - Resim ad alanındaki herhangi bir başlık için bilgi alır. Sonunda yerini alacak
prop=fileinfo
tarafından. - API:Stashimageinfo - Ad alanındaki saklanmış resimler veya dosyalar için bilgi alır. Çıkış API:Imageinfo ile aynı.
- API:Imageusage - Verilen resimleri kullanan tüm sayfaları bulur.
- API:Duplicatefiles - Verilen resim veya dosyaların kopyalarını listeler.
- API:Allimages - Tüm görüntüleri başlığa veya zaman damgasına göre listeler.