Jump to content

API:Backlinks/ru

From mediawiki.org
This page is a translated version of the page API:Backlinks and the translation is 92% complete.
Версия MediaWiki:
1.9

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

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

(main | query | backlinks)
  • 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 link to the given page.

Specific parameters:
Other general parameters are available.
bltitle

Title to search. Cannot be used together with blpageid.

blpageid

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

Type: integer
blcontinue

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

blnamespace

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

The direction in which to list.

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

How to filter for redirects. If set to nonredirects when blredirect is enabled, this is only applied to the second level.

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

How many total pages to return. If blredirect is enabled, the limit applies to each level separately (which means up to 2 * bllimit results may be returned).

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

If linking page is a redirect, find all pages that link to that redirect as well. Maximum limit is halved.

Type: boolean (details)


Пример

GET-запрос

Перечислить обратные ссылки (backlinks), на страницу философии (philosophy).

Ответ

{
    "batchcomplete": "",
    "continue": {
        "blcontinue": "1|987",
        "continue": "-||"
    },
    "query": {
        "backlinks": [
            {
                "pageid": 12,
                "ns": 0,
                "title": "Anarchism"
            },
            {
                "pageid": 128,
                "ns": 1,
                "title": "Talk:Atlas Shrugged"
            },
            {
                "pageid": 336,
                "ns": 0,
                "title": "Altruism"
            },
            ...
        ]
    }
}

Пример кода

Python

#!/usr/bin/python3

"""
    get_backlinks.py

    MediaWiki API Demos
    Demo of `Backlinks` module: Get request to list pages which link to a certain page.

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "backlinks",
    "bltitle": "philosophy"
}

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

BACKLINKS = DATA["query"]["backlinks"]

for b in BACKLINKS:
    print(b["title"])

PHP

<?php
/*
    get_backlinks.php

    MediaWiki API Demos
    Demo of `Backlinks` module: Get request to list pages which link to a certain page.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "backlinks",
    "bltitle" => "philosophy"
];

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

JavaScript

/*
    get_backlinks.js

    MediaWiki API Demos
    Demo of `Backlinks` module: Get request to list pages which link to a certain page.

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    list: "backlinks",
    bltitle: "philosophy"
};

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 backlinks = response.query.backlinks;
        for (var b in backlinks) {
            console.log(backlinks[b].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_backlinks.js

	MediaWiki API Demos
	Demo of `Backlinks` module: Get request to list pages which link to a certain page.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'backlinks',
		bltitle: 'philosophy'
	},
	api = new mw.Api();

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

Перенаправления

В приведённом выше примере возвращаются только прямые ссылки на страницу философии. Когда blredirect включён, ответ будет включать любые страницы, которые ссылаются на перенаправление для значения в bltitle.

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

Ограничение, установленное в bllimit, применяется отдельно к каждому уровню ответа, поэтому bllimit=25 вернёт до 25 прямых обратных ссылок и до 25 обратных ссылок в каждом отдельном перенаправлении.

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

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

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

См. также

  • API:Linkshere - находит все страницы, которые ссылаются на указанную страницу. Обратите внимание, что в отличие от API:Backlinks, который является модулем list , API:Linkshere является модулем prop . См. соответствующие страницы API:Свойства и API:Списки , чтобы узнать, как отличаются эти два вида модулей.
  • API:Transcludedin - модуль prop, который находит все страницы, которые включаются (т.е. встраивают информацию) в указанные страницы.
  • API:Embeddedin - модуль list, который перечисляет обратные ссылки через включение, аналогично Special:Whatlinkshere.
  • API:Imageusage - перечисляет страницы использующие указанное изображение(я).
  • API:Fileusage - перечисляет страницы использующие указанный файл(ы).
  • API:Globalusage - lists pages on other wikis that use the given file(s), similar to Special:GlobalUsage.