This page is a translated version of the page API:Links and the translation is 100% complete.
Versión de MediaWiki:
1.11

Solicitud GET para encontrar todos los enlaces en las página(s) proporcionada(s).

Este módulo puede ser utilizado como generator .

API Documentación


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

Returns all links from the given pages.

Specific parameters:
Other general parameters are available.
plnamespace

Show links in these namespaces only.

Values (separate with | or alternative): -1, -2, 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 *.
pllimit

How many links to return.

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

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

pltitles

Only list links to these titles. Useful for checking whether a certain page links to a certain title.

Separate values with | or alternative.
Maximum number of values is 50 (500 for clients that are allowed higher limits).
pldir

The direction in which to list.

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

Ejemplos

Ejemplo 1: Obtener todos los enlaces en una página

Solicitud GET

consigue una lista de enlaces de la página de Wikipedia en inglés en w:Albert Einstein


Respuesta

{
    "query": {
        "pages": [
            {
                "pageid": 736,
                "ns": 0,
                "title": "Albert Einstein",
                "links": [
                    {
                        "ns": 0,
                        "title": "2dF Galaxy Redshift Survey"
                    },
                    {
                        "ns": 0,
                        "title": "A priori and a posteriori"
                    },
                    {
                        "ns": 0,
                        "title": "Aage Bohr"
                    },
                    ...
                ]
            }
        ]
    }
}

Código de muestra

Python

#!/usr/bin/python3

"""
    get_links.py

    MediaWiki API Demos
    Demo of `Links` module: Get all links on the given page(s)

    MIT License
"""

import requests

S = requests.Session()

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

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

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

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

for k, v in PAGES.items():
    for l in v["links"]:
        print(l["title"])

PHP

<?php
/*
    get_links.php

    MediaWiki API Demos
    Demo of `Links` module: Get all links on the given page(s)

    MIT License
*/

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

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

JavaScript

/*
    get_links.js

    MediaWiki API Demos
    Demo of `Links` module: Get all links on the given page(s)

    MIT License
*/

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

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

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

MediaWiki JS

/*
	get_links.js

	MediaWiki API Demos
	Demo of `Links` module: Get all links on the given page(s)

	MIT License
*/

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

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

Ejemplo 2: Obtener enlaces desaparecidos

Consigue una solicitud para recuperar enlaces desaparecidos o rojos en Wikipedia:Most-wanted_articles. Dos pasos para hacer tanto:

  • Realiza una solicitud GET a la Action API para devolver todos los enlaces insertados en la página proporcionada.
  • De extracción adicional, obtenga los enlaces que faltan y que aún no existen en Wikipedia en inglés.
generator=links submódulo del módulo de consulta links se utiliza como un módulo generator para obtener un conjunto de enlaces insertados en una página.

Solicitud GET


Respuesta

Respuesta
{
  "batchcomplete": "", 
  "continue": {
    "continue": "gplcontinue||", 
    "gplcontinue": "297177|0|1965_in_sumo"
  }, 
  "query": {
    "pages": {
      "-1": {
        "missing": "", 
        "ns": 0, 
        "title": "(viii)"
      }, 
      "-10": {
        "missing": "", 
        "ns": 0, 
        "title": "1954 in sumo"
      }
      ...
    }
  }
}

Código de muestra

get_red_links.py


Python

#!/usr/bin/python3

"""
    get_red_links.py

    MediaWiki API Demos
    Demo of `Links` module to identify red or missing links on a page.

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "titles": "Wikipedia:Most-wanted_articles",
    "gpllimit": "20",
    "format": "json",
    "generator": "links"
}

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

PAGES = DATA['query']['pages']

for page in PAGES.values():
    if 'missing' in page:
        print(page['title'])

PHP

<?php
/*
    get_red_links.php

    MediaWiki API Demos
    Demo of `Links` module to identify red or missing links on a page.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "generator" => "links",
    "titles" => "Wikipedia:Most-wanted_articles",
    "gpllimit" => "20",
    "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"]["pages"] as $page ){
    if( array_key_exists("missing",$page ) ){
        echo( $page["title"] . "\n" );
    }
}

JavaScript

/*
    get_red_links.js

    MediaWiki API Demos
    Demo of `Links` module to identify red or missing links on a page.

    MIT License
*/

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

var params = {
    action: "query",
    generator: "links",
    titles: "Wikipedia:Most-wanted_articles",
    gpllimit: "20",
    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 pages = response.query.pages;
        for (var p in pages) {
            if(pages[p].hasOwnProperty("missing")){
                console.log(pages[p].title);
            }
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_red_links.js

	MediaWiki API Demos
	Demo of `Links` module to identify red or missing links on a page.

	MIT License
*/

var params = {
		action: 'query',
		generator: 'links',
		titles: 'Wikipedia:Most-wanted_articles',
		gpllimit: '20',
		format: 'json'
	},
	api = new mw.Api();

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

Historial de parámetros

  • v1.19: Introducido pldir
  • v1.17: Introducido pltitles
  • v1.13: Introducido pllimit, plcontinue

Véase también

  • API:Linkshere - API:Propiedades submódulo que encuentra páginas que incluyen un enlace a la página dada.
  • API:Backlinks - API:Listas submódulo que obtiene una lista de páginas que enlazan a una página dada.
  • API:Iwlinks - Encuentra enlaces interwiki en una página dada (es decir, páginas meta, páginas especiales).
  • API:Iwbacklinks - Consigue una lista de páginas que estén enlazadas desde un enlace interwiki dado.
  • API:Extlinks - Encontrar todos los enlaces externos a una página dada.
  • API:Exturlusage - Conseguir todas las páginas que enlacen a una URL externa.
  • API:Langlinks - Obtener una lista de enlaces de idioma desde la página dada. Los enlaces de idioma representan traducciones.
  • API:Langbacklinks - Consigue una lista de páginas que contengan un enlace de idioma dado.