API:Iwlinks

From mediawiki.org
This page is a translated version of the page API:Iwlinks and the translation is 100% complete.
Versión de MediaWiki:
1.17

Solicitud GET para listar enlaces interwiki desde una página dada.

API Documentación


(main | query | iwlinks)

Returns all interwiki links from the given pages.

Specific parameters:
Other general parameters are available.
iwprop

Which additional properties to get for each interwiki link:

url
Adds the full URL.
Values (separate with | or alternative): url
iwprefix

Only return interwiki links with this prefix.

iwtitle

Interwiki link to search for. Must be used with iwprefix.

iwdir

The direction in which to list.

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

How many interwiki links to return.

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

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

iwurl
Deprecated.

Whether to get the full URL (cannot be used with iwprop).

Type: boolean (details)

Ejemplo

Solicitud GET

Obtén una lista de enlaces interwiki desde Albert Einstein.


Respuesta

{
    "query": {
        "pages": [
            {
                "pageid": 736,
                "ns": 0,
                "title": "Albert Einstein",
                "iwlinks": [
                    {
                        "prefix": "b",
                        "title": "Introduction_to_Astrophysics/Albert_Einstein"
                    },
                    {
                        "prefix": "c",
                        "title": "Special:Search/Albert_Einstein"
                    },
                    {
                        "prefix": "commons",
                        "title": "Special:Search/Albert_Einstein"
                    },
                    ...                   
                ]
            }
        ]
    }
}

Código de muestra

Python

#!/usr/bin/python3

"""
    python/get_iwlinks.py

    MediaWiki API Demos
    Demo of `Iwlinks` module: Get the interwiki links from a given page.

    MIT License
"""

import requests

S = requests.Session()

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

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

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

PAGES = DATA["query"]["pages"]

for k, v in PAGES.items():
    print(v["iwlinks"])

PHP

<?php
/*
    get_iwlinks.php

    MediaWiki API Demos
    Demo of `Iwlinks` module: Get the interwiki links from a given page.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "prop" => "iwlinks",
    "titles" => "Albert Einstein"
];

$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"]["pages"] as $k => $v ) {
    var_dump( $v["iwlinks"] );
}

JavaScript

/*
    get_iwlinks.js

    MediaWiki API Demos
    Demo of `Iwlinks` module: Get the interwiki links from a given page.

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    prop: "iwlinks",
    titles: "Albert Einstein"
};

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

MediaWiki JS

/*
	get_iwlinks.js

	MediaWiki API Demos
	Demo of `Iwlinks` module: Get the interwiki links from a given page.

	MIT License
*/

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

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

Errores posibles

Código Información
invalidparammix El parámetro title solo se puede utilizar junto con prefix.

Historial de parámetros

  • v1.24:
    • Introducido iwprop, url
    • Obsoleto iwurl
  • v1.19: Introducido iwdir
  • v1.18: Introducido iwprefix, iwtitle

Véase también