API:Query/ru

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



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


Модули запросов
Модуль запросов имеет три типа подмодулей (также называемых модулями запросов):


 * о вики и вошедшем в систему пользователе.
 * страниц, включая версии страниц и их содержание.
 * страниц, соответствующих определенным критериям.

Примеры


Пример 1: Указание страниц
В отличие от модулей запросов мета и списков, все модули запросов свойств работают с набором страниц, которые можно указать одним из следующих способов:


 * По имени с помощью параметра, например.
 * По идентификатору страницы с помощью параметра, например.
 * По идентификатору версии с использованием параметра, например  . Большинство модулей запросов преобразуют идентификатор версии в соответствующий идентификатор страницы. Только  на самом деле использует сам идентификатор версии.
 * Используя генератор.



Ответ


Пример 2: Нормализация заголовка
Нормализация заголовков преобразует заголовки страниц в их каноническую форму.

Это означает использование заглавных букв в первом символе, замена подчеркиваний пробелами и изменение пространства имен на локализованную форму, определенную для этой вики.



Ответ


Пример 3: Отсутствующие и недопустимые заголовки
Заголовки, которые не существуют или являются недопустимыми, будут иметь в ответе соответствующий атрибут  или.

In output formats that support numeric array keys, missing and invalid titles will have negative page IDs.

In some cases, a title can be viewed by a user but cannot be accessed by the API, such as pages that mirror content from another wiki. These titles will have a  attribute set in the response.



Ответ


Пример 4: Продолжение запросов
Когда в ответ на запрос возвращаются не все данные, будет атрибут  указывающий на наличие дополнительных данных.



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

Example 5: Batchcomplete
The API returns a  element to indicate that all data for the current batch of items has been returned.

In the response of the sample query below,  has been included to indicate that all the data for each of the three images has been returned.

The next continuation will begin returning data for the next set of 3 images.



Ответ


Пример 6: Генераторы
Используйте генераторы, если вы хотите получить данные о наборе страниц.

Например, чтобы получить данные о страницах в определённой категории, вместо запроса, а затем повторного запроса с  , перечисляющим все возвращённые страницы, объедините два вызова API в один, используя.

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

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

Например, чтобы загрузить все страницы, связанные с главной страницей, используйте.

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

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



Continuing queries
Very often you will not get all the data you want in one API query. When that happens the API result indicates there is more data.

Because there are more data matching the query, the API result includes a  element. If you want further data, you would add its values (in the example,  and  ) to the original request to get the next set of results. You continue to do this until an API result does not have a  element, indicating there are no more data matching the query.

Here is Python code showing how to iterate over query results (using the python requests lib). Note you should not manipulate or depend on any specifics of the values returned inside the  element, as they may change.

batchcomplete
When you make an API request using a generator together with properties, the API result may signal to continue because there are more properties to retrieve for the pages so far, or because there are more pages from the generator, or both. From version 1.25 onwards, the API returns a  element to indicate that all data for the current "batch" of pages has been returned. This can be useful to avoid building a combined result set for thousands of pages when using a generator together with prop modules that may themselves need continuation.

Backwards compatibility of continue
From MediaWiki 1.21 to 1.25, it was required to specify  (i.e. with an empty string as the value) in the initial request to get continuation data in the format described above. Without doing that, API results would indicate there is additional data by returning a  element, explained in Raw query continue. Prior to 1.21, that raw continuation was the only option.

If your application needs to use the raw continuation in MediaWiki 1.26 or later, you must specify  to request it.



Возможные предупреждения


История параметров

 * v1.21: Введены
 * v1.24: Введены  (note raw continuation was the default behavior until v1.26)



Дополнительная информация

 * Указание заголовков через  или   ограничено 50 заголовками на запрос или 500 для тех, у кого есть право.
 * Используйте несколько модулей запросов вместе, чтобы получить то, что вам нужно в одном запросе, например.
 * Generators always pass page titles to the query module. Unlike lists (which may include additional data by default), generators should not output any information themselves, unless when explicitly requested via the generator module's query parameters.

Resolving redirects
Redirects can be resolved automatically, so that the target of a redirect is returned instead of the given title. When present, they will always contain  and   attributes and may contain a   attribute for those redirects that point to specific sections.

Both normalization and redirection may take place. In the case of multiple redirects, all redirects will be resolved, and in case of a circular redirect, there might not be a page in the 'pages' section (see also below). Redirect resolution cannot be used in combination with the  parameter or with a generator generating revids; doing that will produce a warning and will not resolve redirects for the specified revids.

The examples below show how the  parameter works.

<span id="See_also">

См. также

 * - Краткое руководство по началу работы.
 * - Содержит информацию о том, как использовать параметр.