API:Query/zh

action=query模組允许你取得有關維基和其中保存資料的資訊，例如特定頁面的維基文本，一組頁面的連結和分類，或是所需要的存取權杖.

Query modules
下面有三個查询模块類別：
 * ：有关于维基和已登录用户的信息.
 * ：页面的属性，包括页面修订版本和内容等.
 * ：符合特定条件的页面.

Example 1: Specifying pages
Unlike meta and list query modules, all property query modules work on a set of pages that can be specified in one of the following ways:


 * By name using the  parameter, e.g..
 * By page ID using the  parameter, e.g..
 * By revision ID using the  parameter, e.g.  . Most query modules will convert revision ID to the corresponding page ID. Only  actually uses the revision ID itself.
 * Using a generator.

Example 2: Title normalization
Title normalization converts page titles to their canonical form. This means capitalizing the first character, replacing underscores with spaces, and changing namespace to the localized form defined for that wiki.

Example 3: Missing and invalid titles
Titles that don't exist or are invalid will have a  or   attribute set in the response. In output formats that support numeric array keys, missing and invalid titles will have negative page IDs.

Example 4: Continuing queries
When all the data is not returned in the response of a query, there will be a  attribute to indicate that there is more data. To get further data, add its values to the original request.

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.

Example 6: Generators
Use generators if you want to get data about a set of pages. For example, to get data about pages in a certain category, instead of querying  and then querying again with   set to all the returned pages, combine the two API calls into one by using.

When using a list module as a generator, you don't need to specify the pages. However, for a property module, you should specify the pages which the generator will work on. For example, to load all pages that are linked to from the main page, use.

Parameters passed to a generator must be prefixed with a. For instance, when using, use   instead of.

The sample query below gets links and categories for the first three pages in the main namespace starting with "Ba".

Parameter history

 * v1.26: Introduced
 * v1.9: Introduced

Additional notes

 * Specifying titles through  or   is limited to 50 titles per query, or 500 for those with the   right.
 * Use multiple query modules together to get what you need in one request, e.g..
 * Generators only pass page titles to the query module and do not output any information themselves. Setting parameters like  will therefore have no effect.