API:Querypage

From MediaWiki.org
Jump to navigation Jump to search
Other languages:
English • ‎日本語
MediaWiki version: 1.18

GET request to get a list provided by a QueryPage-based special page.

API documentation[edit]


list=querypage (qp)

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

Get a list provided by a QueryPage-based special page.

Parameters:
qppage

The name of the special page. Note, this is case sensitive.

This parameter is required.
One of the following values: Ancientpages, BrokenRedirects, Deadendpages, DoubleRedirects, ListDuplicatedFiles, Listredirects, Lonelypages, Longpages, MediaStatistics, Mostcategories, Mostimages, Mostinterwikis, Mostlinkedcategories, Mostlinkedtemplates, Mostlinked, Mostrevisions, Fewestrevisions, Shortpages, Uncategorizedcategories, Uncategorizedpages, Uncategorizedimages, Uncategorizedtemplates, Unusedcategories, Unusedimages, Wantedcategories, Wantedfiles, Wantedpages, Wantedtemplates, Unwatchedpages, Unusedtemplates, Withoutinterwiki, UnconnectedPages, GadgetUsage, MostGloballyLinkedFiles, GloballyWantedFiles, DisambiguationPages, DisambiguationPageLinks
qpoffset

When more results are available, use this to continue.

Type: integer
Default: 0
qplimit

Number of results to return.

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

Example[edit]

GET request[edit]

In the below query, we call the API to get a list of the first ten pages which are uncategorized

Response[edit]

{
  "batchcomplete": "", 
  "continue": {
    "continue": "-||", 
    "qpoffset": 10
  }, 
  "query": {
    "querypage": {
      "cached": "", 
      "cachedtimestamp": "2019-02-22T11:46:48Z", 
      "maxresults": 5000, 
      "name": "Uncategorizedpages", 
      "results": [
        {
          "ns": 0, 
          "title": "Abelardo Delgado", 
          "value": "0"
        }, 
        {
          "ns": 0, 
          "title": "Agriculture in Tonga", 
          "value": "0"
        }, 
        {
          "ns": 0, 
          "title": "Andriandramaka", 
          "value": "0"
        }
        ...
      ]
    }
  }
}

Sample code[edit]

Python[edit]

#!/usr/bin/python3

"""
    get_querypage_list.py

    MediaWiki API Demos
    Demo of `Querypage` module: List first 10 pages which are uncategorized

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "qplimit": "10",
    "action": "query",
    "qppage": "Uncategorizedpages",
    "list": "querypage",
    "format": "json"
}

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

QUERYPAGE = DATA['query']['querypage']['results']

for p in QUERYPAGE:
    print(str(p['title']))

PHP[edit]

<?php
/*
    get_querypage_list.php

    MediaWiki API Demos
    Demo of `Querypage` module: List first 10 pages which are uncategorized

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "list" => "querypage",
    "qppage" => "Uncategorizedpages",
    "qplimit" => "10",
    "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"]["querypage"]["results"] as $page ){
    echo( $page["title"] . "\n" );
}

JavaScript[edit]

/*
    get_querypage_list.js

    MediaWiki API Demos
    Demo of `Querypage` module: List first 10 pages which are uncategorized

    MIT License
*/

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

var params = {
    action: "query",
    list: "querypage",
    qppage: "Uncategorizedpages",
    qplimit: "10",
    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 querypage = response.query.querypage.results;
        for (var p in querypage) {
            console.log(querypage[p].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS[edit]

/*
	get_querypage_list.js

	MediaWiki API Demos
	Demo of `Querypage` module: List first 10 pages which are uncategorized

	MIT License
*/

var params = {
		action: 'query',
		list: 'querypage',
		qppage: 'Uncategorizedpages',
		qplimit: '10',
		format: 'json'
	},
	api = new mw.Api();

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

Special page values[edit]

(MediaWiki 1.32.0)

Ancientpages Listredirects Mostlinked Unusedtemplates
BrokenRedirects Lonelypages Mostrevisions Unwatchedpages
Deadendpages Longpages Shortpages Wantedcategories
DisambiguationPageLinks MediaStatistics Uncategorizedcategories Wantedfiles
DisambiguationPages Mostcategories Uncategorizedpages Wantedpages
DoubleRedirects MostGloballyLinkedFiles Uncategorizedimages Wantedtemplates
EntityUsage Mostimages Uncategorizedtemplates Withoutinterwiki
Fewestrevisions Mostinterwikis UnconnectedPages
GloballyWantedFiles Mostlinkedcategories Unusedcategories
ListDuplicatedFiles Mostlinkedtemplates Unusedimages

Possible errors[edit]

Code Info
unknown_qppage Unrecognized value for parameter qppage: value.
noqppage The qppage parameter must be set.

Additional notes[edit]

  • This module can be used as a generator .
  • Namespace filtering is unavailable on these pages. The possible way is to manually filter "ns" from collected results.

See also[edit]