API:Embeddedin

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

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

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

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

list=embeddedin (ei)

(main | query | embeddedin)
  • 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 embed (transclude) the given title.

Specific parameters:
Other general parameters are available.
eititle

Title to search. Cannot be used together with eipageid.

eipageid

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

Type: integer
eicontinue

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

einamespace

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 *.
eidir

The direction in which to list.

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

How to filter for redirects.

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

How many total pages to return.

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


Пример

GET-запрос

Поиск всех страниц, встраивающих страницу w:Computer из English Wikipedia.

Ответ

{
    "batchcomplete": "",
    "query": {
        "embeddedin": [
            {
                "pageid": 14388072,
                "ns": 100,
                "title": "Portal:Computing"
            },
            {
                "pageid": 45719527,
                "ns": 2,
                "title": "User:SoSivr/sandbox"
            }
        ]
    }
}

Пример кода

Python

#!/usr/bin/python3

"""
    get_embedded_lists.py

    MediaWiki API Demos
    Demo of `Embeddedin` module: Get all page(s) that
    embed a given page

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "embeddedin",
    "eititle": "Computer",
    "eilimit": "20"
}

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

PAGES = DATA["query"]["embeddedin"]

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

PHP

<?php
/*
    get_embedded_pages.php

    MediaWiki API Demos
    Demo of `Embeddedin` module: Get all page(s) that embed a given page

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "embeddedin",
    "eititle" => "Computer",
    "eilimit" => "20"
];

$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"]["embeddedin"] as $k => $v ) {
    echo( $v["title"] . "\n" );
}

JavaScript

/*
    get_embedded_pages.js

    MediaWiki API Demos
    Demo of `Embeddedin` module: Get all page(s) that embed a given page

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    list: "embeddedin",
    eititle: "Computer",
    eilimit: "20"
};

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.embeddedin;
        for (var p in pages) {
            console.log(pages[p].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_embedded_pages.js

	MediaWiki API Demos
	Demo of `Embeddedin` module: Get all page(s) that embed a given page

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'embeddedin',
		eititle: 'Computer',
		eilimit: '20'
	},
	api = new mw.Api();

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

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

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

Смотрите также

  • API:Transcludedin - Поиск всех страниц, которые включают данную страницу.
  • API:Templates - Возвращает все страницы, включенные в данные страницы.
  • API:Alltransclusions - Часть модуля API:Alllinks . This API gets a list all transclusions (pages embedded using {{x}}), including non-existing.
  • API:Parsing_wikitext - Parse content of a page and obtain the output.