API:Enlaces

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page API:Links and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎polski • ‎русский • ‎中文 • ‎日本語
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.

Parameters:
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, 828, 829, 1198, 1199, 2300, 2301, 2302, 2303, 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.

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 allowed higher limits).
pldir

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
Examples:
Get links from the page Main Page
api.php?action=query&prop=links&titles=Main%20Page [open in sandbox]
Get information about the link pages in the page Main Page.
api.php?action=query&generator=links&titles=Main%20Page&prop=info [open in sandbox]
Get links from the page Main Page in the User and Template namespaces.
api.php?action=query&prop=links&titles=Main%20Page&plnamespace=2|10 [open in sandbox]

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

Código de muestra

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.