API:Pageprops

From mediawiki.org
This page is a translated version of the page API:Pageprops and the translation is 92% complete.
MediaWiki版本:
1.17

GET请求用于在页面内容中获取各种定义的属性。

API帮助文档


prop=pageprops (pp)

(main | query | pageprops)

Get various page properties defined in the page content.

Specific parameters:
Other general parameters are available.
ppcontinue

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

ppprop

Only list these page properties (action=query&list=pagepropnames returns page property names in use). Useful for checking whether pages use a certain page property.

Separate values with | or alternative.
Maximum number of values is 50 (500 for clients that are allowed higher limits).
Example:
Get properties for the pages MediaWiki and MediaWiki.
api.php?action=query&prop=pageprops&titles=MediaWiki|MediaWiki [open in sandbox]

示例

GET请求

在页面内容中获取各种定义的属性。


回应

{
    "batchcomplete": "",
    "query": {
        "pages": {
            "736": {
                "pageid": 736,
                "ns": 0,
                "title": "Albert Einstein",
                "pageprops": {
                    "defaultsort": "Einstein, Albert",
                    "page_image_free": "Einstein_1921_by_F_Schmutzer_-_restoration.jpg",
                    "wikibase-badge-Q17437798": "1",
                    "wikibase_item": "Q937"
                }
            }
        }
    }

示例代码

Python

#!/usr/bin/python3

"""
    pageprops.py
    MediaWiki API Demos
    Demo of `Pageprops` module: Get various properties defined in the page content
    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "titles": "Albert Einstein",
    "prop": "pageprops",
    "format": "json"
}

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

print(DATA)

PHP

<?php

/*
    pageprops.php
    MediaWiki API Demos
    Demo of `Pageprops` module: Get various properties defined in the page content
    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "titles" => "Albert Einstein",
    "prop" => "pageprops",
    "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 );
var_dump( $result );

JavaScript

/*
    pageprops.js
    MediaWiki API Demos
    Demo of `Pageprops` module: Get various properties defined in the page content
    MIT License
*/

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

var params = {
    action: "query",
    titles: "Albert Einstein",
    prop: "pageprops",
    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) { console.log(response); })
    .catch(function(error) { console.log(error); });

MediaWiki JS

/*
	pageprops.js
	MediaWiki API Demos
	Demo of `Pageprops` module: Get various properties defined in the page content
	MIT License
*/

var params = {
	action: 'query',
	titles: 'Albert Einstein',
	prop: 'pageprops',
	format: 'json'
};
var api = new mw.Api();

api.get( params ).then( function ( data ) {
	console.log( data );
} );

参阅

  • API:pageswithprop – 列举所有使用特定页面属性的页面。
  • API:Pagepropnames – 列举所有在wiki中被使用的页面属性名称。
  • API:属性 get general properties of pages (not necessarily defined in the page content).