API:Exturlusage

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

Solicitud GET para listar páginas que enlazan a una determinada URL, como Special:Linksearch.

API Documentación


list=exturlusage (eu)

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

Enumerate pages that contain a given URL.

Specific parameters:
Other general parameters are available.
euprop

Which pieces of information to include:

ids
Adds the ID of page.
title
Adds the title and namespace ID of the page.
url
Adds the URL used in the page.
Values (separate with | or alternative): ids, title, url
Default: ids|title|url
eucontinue

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

euprotocol

Protocol of the URL. If empty and euquery is set, the protocol is http and https. Leave both this and euquery empty to list all external links.

One of the following values: Can be empty, or bitcoin, ftp, ftps, geo, git, gopher, http, https, irc, ircs, magnet, mailto, matrix, mms, news, nntp, redis, sftp, sip, sips, sms, ssh, svn, tel, telnet, urn, worldwind, xmpp
Default: (empty)
euquery

Search string without protocol. See Special:LinkSearch. Leave empty to list all external links.

eunamespace

The page namespaces to enumerate.

Note: Due to miser mode, using this may result in fewer than eulimit results returned before continuing; in extreme cases, zero results may be returned.

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

How many pages to return.

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

Expand protocol-relative URLs with the canonical protocol.

Type: boolean (details)

Ejemplo

Solicitud GET

Conseguir una lista de páginas que enlacen a slashdot.org


Respuesta

{
    "batchcomplete": "",
    "continue": {
        "eucontinue": "http://org.slashdot./|169423",
        "continue": "-||"
    },
    "query": {
        "exturlusage": [
            {
                "pageid": 533948,
                "ns": 2,
                "title": "User:Peter Ellis",
                "url": "http://slashdot.org"
            },
            {
                "pageid": 3274,
                "ns": 2,
                "title": "User:Alexdb",
                "url": "http://slashdot.org/"
            },
            {
                "pageid": 36471,
                "ns": 2,
                "title": "User:Joao",
                "url": "http://slashdot.org/"
            }
            ...
        ]
    }
}

Código de muestra

Python

#!/usr/bin/python3

"""
    get_exturlusage.py

    MediaWiki API Demos
    Demo of `Exturlusage` module: Enumerate pages that contain a given URL.

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "exturlusage",
    "euquery": "slashdot.org"
}

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

EXTURLS = DATA["query"]["exturlusage"]

for exturl in EXTURLS:
    print("Page " + exturl["title"] + " has " + exturl["url"] + " url.")

PHP

<?php
/*
    get_exturlusage.php

    MediaWiki API Demos
    Demo of `Exturlusage` module: Enumerate pages that contain a given URL.

    MIT License
*/

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

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

JavaScript

/*
    get_exturlusage.js

    MediaWiki API Demos
    Demo of `Exturlusage` module: Enumerate pages that contain a given URL.

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    list: "exturlusage",
    euquery: "slashdot.org"
};

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 exturls = response.query.exturlusage;
        for (var exturl in exturls) {
            console.log("Page " + exturls[exturl].title + " has " + exturls[exturl].url + " url.");
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_exturlusage.js

	MediaWiki API Demos
	Demo of `Exturlusage` module: Enumerate pages that contain a given URL.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'exturlusage',
		euquery: 'slashdot.org'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var exturls = data.query.exturlusage,
		exturl;
	for ( exturl in exturls ) {
		console.log( 'Page ' + exturls[ exturl ].title + ' has ' + exturls[ exturl ].url + ' url.' );
	}
} );

Errores posibles

Código Info
unknown_euprotocol Wrong property for protocol parameter (use value from the list of supported protocols)
badcontinue Parámetro continue no válido. Debes pasar el valor original devuelto por la consulta anterior.

Historial de parámetro

  • v1.21: Introducido euexpandurl

Véase también

  • API:Backlinks - Las listas enlaza a una página dada.
  • API:Enlaces - Recupera enlaces a una página o páginas dada.
  • API:Iwlinks - Encuentra enlaces interwiki en una página determinada (es decir, páginas meta, páginas especiales).
  • API:Extlinks - Encontrar todos los enlaces externos a una página dada.
  • API:Langlinks - Obtenga 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 contenga un enlace de idioma dado.