API:すべての画像

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page API:Allimages and the translation is 58% complete.
Other languages:
English • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎polski • ‎русский • ‎ไทย • ‎中文 • ‎日本語
MediaWiki バージョン: 1.13

すべての画像ファイルを、ページ名またはタイムスタンプの順で列挙する GET リクエストです。

This module can be used as a generator .

APIの説明文書


list=allimages (ai)

(main | query | allimages)
  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0-or-later

Enumerate all images sequentially.

Parameters:
aisort

Property to sort by.

One of the following values: name, timestamp
Default: name
aidir

The direction in which to list.

One of the following values: ascending, descending, newer, older
Default: ascending
aifrom

The image title to start enumerating from. Can only be used with aisort=name.

aito

The image title to stop enumerating at. Can only be used with aisort=name.

aicontinue

When more results are available, use this to continue.

aistart

The timestamp to start enumerating from. Can only be used with aisort=timestamp.

Type: timestamp (allowed formats)
aiend

The timestamp to end enumerating. Can only be used with aisort=timestamp.

Type: timestamp (allowed formats)
aiprop

Which file information to get:

timestamp
Adds timestamp for the uploaded version.
user
Adds the user who uploaded each file version.
userid
Add the ID of the user that uploaded each file version.
comment
Comment on the version.
parsedcomment
Parse the comment on the version.
canonicaltitle
Adds the canonical title of the file.
url
Gives URL to the file and the description page.
size
Adds the size of the file in bytes and the height, width and page count (if applicable).
dimensions
Alias for size.
sha1
Adds SHA-1 hash for the file.
mime
Adds MIME type of the file.
mediatype
Adds the media type of the file.
metadata
Lists Exif metadata for the version of the file.
commonmetadata
Lists file format generic metadata for the version of the file.
extmetadata
Lists formatted metadata combined from multiple sources. Results are HTML formatted.
bitdepth
Adds the bit depth of the version.
badfile
Adds whether the file is on the MediaWiki:Bad image list
Values (separate with | or alternative): timestamp, user, userid, comment, parsedcomment, canonicaltitle, url, size, dimensions, sha1, mime, mediatype, metadata, commonmetadata, extmetadata, bitdepth, badfile
Default: timestamp|url
aiprefix

Search for all image titles that begin with this value. Can only be used with aisort=name.

aiminsize

Limit to images with at least this many bytes.

Type: integer
aimaxsize

Limit to images with at most this many bytes.

Type: integer
aisha1

SHA1 hash of image. Overrides aisha1base36.

aisha1base36

SHA1 hash of image in base 36 (used in MediaWiki).

aiuser

Only return files uploaded by this user. Can only be used with aisort=timestamp. Cannot be used together with aifilterbots.

Type: user name
aifilterbots

How to filter files uploaded by bots. Can only be used with aisort=timestamp. Cannot be used together with aiuser.

One of the following values: all, bots, nobots
Default: all
aimime

Disabled due to miser mode.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
ailimit

How many images in total to return.

No more than 500 (5,000 for bots) allowed.
Type: integer or max
Default: 10

Example 1: Get images by name

GET リクエスト

List all images in the namespace, starting from files that begin with Graffiti_000. Limit the initial response to just the first three images.

レスポンス

{
    "batchcomplete": "",
    "continue": {
        "aicontinue": "Graffiti_BTER_0001.JPG",
        "continue": "-||"
    },
    "query": {
        "allimages": [
            {
                "name": "Graffiti_0001.JPG",
                "timestamp": "2006-10-26T01:48:05Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/9/98/Graffiti_0001.JPG",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:Graffiti_0001.JPG",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=7624737",
                "ns": 6,
                "title": "File:Graffiti 0001.JPG"
            },
            {
                "name": "Graffiti_0002.JPG",
                "timestamp": "2006-10-26T02:03:40Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/6/66/Graffiti_0002.JPG",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:Graffiti_0002.JPG",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=7624935",
                "ns": 6,
                "title": "File:Graffiti 0002.JPG"
            },
            {
                "name": "Graffiti_0003.JPG",
                "timestamp": "2006-10-26T08:05:08Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/2/2b/Graffiti_0003.JPG",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:Graffiti_0003.JPG",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=7628426",
                "ns": 6,
                "title": "File:Graffiti 0003.JPG"
            }
        ]
    }
}

サンプル コード

Python

#!/usr/bin/python3

"""
    get_allimages_by_name.py

    MediaWiki API Demos
    List all images in the namespace, starting from files that begin with
    'Graffiti_000'. Limit the initial response to just the first three images.

    MIT License
"""

import requests

S = requests.Session()

URL = "https://en.wikipedia.org/w/api.php"

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "allimages",
    "aifrom": "Graffiti_000",
    "ailimit": "3"
}

R = S.get(url=URL, params=PARAMS)
DATA = R.json()

IMAGES = DATA["query"]["allimages"]

for img in IMAGES:
    print(img["title"])

PHP

<?php
/*
    get_allimages_by_name.php

    MediaWiki API Demos
    List all images in the namespace, starting from files that begin with 'Graffiti_000'. Limit the initial response to just the first three images. 

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "allimages",
    "aifrom" => "Graffiti_000",
    "ailimit" => "3"
];

$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"]["allimages"] as $k => $v ) {
    echo( $v["title"] . "\n" );
}

JavaScript

/*
    get_allimages_by_name.js

    MediaWiki API Demos
    List all images in the namespace, starting from files that begin with 'Graffiti_000'. Limit the initial response to just the first three images. 

    MIT License
*/

var url = "https://en.wikipedia.org/w/api.php"; 

var params = {
    action: "query",
    format: "json",
    list: "allimages",
    aifrom: "Graffiti_000",
    ailimit: "3"
};

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 images = response.query.allimages;
        for (var img in images) {
            console.log(images[img].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_allimages_by_name.js

	MediaWiki API Demos
	List all images in the namespace, starting from files that begin with 'Graffiti_000'.
	Limit the initial response to just the first three images.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'allimages',
		aifrom: 'Graffiti_000',
		ailimit: '3'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var images = data.query.allimages,
		img;
	for ( img in images ) {
		console.log( images[ img ].title );
	}
} );

Example 2: Get images by date

GET リクエスト

List all images in the namespace, starting from 2010-01-01 18:05:46 (UTC).

レスポンス

{
    "batchcomplete": "",
    "continue": {
        "aicontinue": "20100101190633|Ryan_Baker_12-30-2009.JPG",
        "continue": "-||"
    },
    "query": {
        "allimages": [
            {
                "name": "DramaQueenThatGirl.jpg",
                "timestamp": "2010-01-01T18:21:57Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/1/17/DramaQueenThatGirl.jpg",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:DramaQueenThatGirl.jpg",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=25646192",
                "ns": 6,
                "title": "File:DramaQueenThatGirl.jpg"
            },
            {
                "name": "VS_in_viena_austria.JPG",
                "timestamp": "2010-01-01T18:42:49Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/b/bd/VS_in_viena_austria.JPG",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:VS_in_viena_austria.JPG",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=25646382",
                "ns": 6,
                "title": "File:VS in viena austria.JPG"
            },
            {
                "name": "Vasanthamtv_channel.jpg",
                "timestamp": "2010-01-01T19:03:08Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/1/18/Vasanthamtv_channel.jpg",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:Vasanthamtv_channel.jpg",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=25626466",
                "ns": 6,
                "title": "File:Vasanthamtv channel.jpg"
            }
            ...
        ]
    }
}

サンプル コード

Python

#!/usr/bin/python3

"""
    get_allimages_by_date.py

    MediaWiki API Demos
    List all images in the namespace, starting from January 1, 2010,
    at 18:05:46 UTC.

    MIT License
"""

import requests

S = requests.Session()

URL = "https://en.wikipedia.org/w/api.php"

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "allimages",
    "aisort": "timestamp",
    "aistart": "2010-01-01T18:05:46Z"
}

R = S.get(url=URL, params=PARAMS)
DATA = R.json()

IMAGES = DATA["query"]["allimages"]

for img in IMAGES:
    print(img["title"])

PHP

<?php
/*
    get_allimages_by_date.php

    MediaWiki API Demos
    List all images in the namespace, starting from January 1, 2010, at 18:05:46 UTC.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "allimages",
    "aisort" => "timestamp",
    "aistart" => "2010-01-01T18:05:46Z"
];

$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"]["allimages"] as $k => $v ) {
    echo( $v["title"] . "\n" );
}

JavaScript

/*
    get_allimages_by_date.js

    MediaWiki API Demos
    List all images in the namespace, starting from January 1, 2010, at 18:05:46 UTC.

    MIT License
*/

var url = "https://en.wikipedia.org/w/api.php"; 

var params = {
    action: "query",
    format: "json",
    list: "allimages",
    aisort: "timestamp",
    aistart: "2010-01-01T18:05:46Z"
};

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 images = response.query.allimages;
        for (var img in images) {
            console.log(images[img].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_allimages_by_date.js

	MediaWiki API Demos
	List all images in the namespace, starting from January 1, 2010, at 18:05:46 UTC.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'allimages',
		aisort: 'timestamp',
		aistart: '2010-01-01T18:05:46Z'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var images = data.query.allimages,
		img;
	for ( img in images ) {
		console.log( images[ img ].title );
	}
} );

パラメーターの履歴

  • v1.23: aiprop=canonicaltitle, aiprop=commonmetadata, aiprop=extmetadata を導入しました
  • v1.20: aisort, aistart, aiend, aiuser, aifilterbots, aidir=newer, aidir=older を導入しました
  • v1.18: aimime, aiprop=mediatype を導入しました
  • v1.17: aiprop=userid, aiprop=parsedcomment を導入しました
  • v1.14: bitdepth を導入しました

追加的な注記

  • Only the most recent version of each file is returned.
  • See Data formats for more information on how to properly format dates for aisort=timestamps

関連項目