API:Imageusage/ru

This page is a translated version of the page API:Imageusage and the translation is 89% complete.
Версия MediaWiki:
1.9

GET-запрос для поиска всех страниц, использующих данный заголовок изображения.

Этот модуль можно использовать как генератор .

В MW 1.9 и 1.10 имя модуля было imagelinks.

Документация по API

list=imageusage (iu)

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

Find all pages that use the given image title.

Specific parameters:
Other general parameters are available.
iutitle

Title to search. Cannot be used together with iupageid.

iupageid

Page ID to search. Cannot be used together with iutitle.

Type: integer
iucontinue

When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.

iunamespace

The namespace to enumerate.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 90, 91, 92, 93, 100, 101, 102, 103, 104, 105, 106, 107, 486, 487, 710, 711, 828, 829, 1198, 1199, 2600, 5500, 5501
To specify all values, use *.
iudir

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
iufilterredir

How to filter for redirects. If set to nonredirects when iuredirect is enabled, this is only applied to the second level.

One of the following values: all, nonredirects, redirects
Default: all
iulimit

How many total pages to return. If iuredirect is enabled, the limit applies to each level separately (which means up to 2 * iulimit results may be returned).

Type: integer or max
The value must be between 1 and 500.
Default: 10
iuredirect

If linking page is a redirect, find all pages that link to that redirect as well. Maximum limit is halved.

Type: boolean (details)


Пример

GET-запрос

Получить первые три страницы, в которых используется данный заголовок изображения.

Ответ

{
  "batchcomplete": "",
  "continue": {
    "continue": "-||",
    "iucontinue": "4|33464895"
  },
  "query": {
    "imageusage": [
      {
        "ns": 0,
        "pageid": 14072,
        "title": "History of Wikipedia"
      },
      {
        "ns": 4,
        "pageid": 16842768,
        "title": "Wikipedia:Wikipedia logos"
      },
      {
        "ns": 2,
        "pageid": 30536602,
        "title": "User:J Komara"
      }
    ]
  }
}

Пример кода

Python

#!/usr/bin/python3

"""
    python/get_imageusage.py

    MediaWiki API Demos
    Demo of `Imageusage` module: List the first 3 pages that use a given image title

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "imageusage",
    "iutitle": "File:Wiki_logo_Nupedia.jpg",
    "iulimit": "3"
}

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

PAGES = DATA["query"]["imageusage"]

for p in PAGES:
    print(p["title"])

PHP

<?php
/*
    get_imageusage.php

    MediaWiki API Demos
    Demo of `Imageusage` module: List the first 3 pages that use a given image title

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "imageusage",
    "iutitle" => "File:Wiki_logo_Nupedia.jpg",
    "iulimit" => "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"]["imageusage"] as $k => $v ) {
    echo( $v["title"] . "\n" );
}

JavaScript

/*
    get_imageusage.js

    MediaWiki API Demos
    Demo of `Imageusage` module: List the first 3 pages that use a given image title

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    list: "imageusage",
    iutitle: "File:Wiki_logo_Nupedia.jpg",
    iulimit: "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 pages = response.query.imageusage;
        for (var p in pages) {
            console.log(pages[p].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_imageusage.js

	MediaWiki API Demos
	Demo of `Imageusage` module: List the first 3 pages that use a given image title

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'imageusage',
		iutitle: 'File:Wiki_logo_Nupedia.jpg',
		iulimit: '3'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var pages = data.query.imageusage,
		p;
	for ( p in pages ) {
		console.log( pages[ p ].title );
	}
} );

Возможные ошибки

Код Информация
iubadcontinue Некорректный параметр continue. Вы должны передать значение, возвращённое предыдущим запросом.

См. также

  • API:Images - Список встроенных медиафайлов на указанных страницах.
  • API:Allimages - Список всех изображений, по заголовку или временной отметке.
  • API:Imageinfo - Получение информации для любых заголовков в пространстве имён изображений.
  • API:Stashimageinfo - Gets information for stashed images or files in the namespace.
  • API:Duplicatefiles - Список любых дубликатов указанных изображений или файлов.