Jump to content

API:Alllinks

From mediawiki.org
This page is a translated version of the page API:Alllinks and the translation is 100% complete.
Version de MediaWiki :
1.11

La requête GET pour lister les liens qui pointent vers un espace de noms donné, classés par titre.

Ce module peut être utilisé comme $generator.

Documentation de l'API

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

Enumerate all links that point to a given namespace.

Specific parameters:
Other general parameters are available.
alcontinue

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

alfrom

The title of the link to start enumerating from.

alto

The title of the link to stop enumerating at.

alprefix

Search for all linked titles that begin with this value.

alunique

Only show distinct linked titles. Cannot be used with alprop=ids.

When used as a generator, yields target pages instead of source pages.

Type: boolean (details)
alprop

Which pieces of information to include:

ids
Adds the page ID of the linking page (cannot be used with alunique).
title
Adds the title of the link.
Values (separate with | or alternative): ids, title
Default: title
alnamespace

The namespace to enumerate.

One of the following values: -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
Default: 0
allimit

How many total items to return.

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

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
Examples:
List linked titles, including missing ones, with page IDs they are from, starting at B.
api.php?action=query&list=alllinks&alfrom=B&alprop=ids|title [open in sandbox]
List unique linked titles.
api.php?action=query&list=alllinks&alunique=&alfrom=B [open in sandbox]
Gets all linked titles, marking the missing ones.
api.php?action=query&generator=alllinks&galunique=&galfrom=B [open in sandbox]
Gets pages containing the links.
api.php?action=query&generator=alllinks&galfrom=B [open in sandbox]


Exemple

Par défaut, ce module retournera des doublons si une page contient plusieurs liens pointant vers le même espace de noms. Cet exemple utilise alunique=1 pour supprimer tous les titres en double dans la réponse.

Requête GET

Liste des liens distincts (c.-à-d. pas de doublons) qui pointent vers l'espace de noms principal.

Réponse

{
    "batchcomplete": "",
    "continue": {
        "alcontinue": "!!!!Hashtagging",
        "continue": "-||"
    },
    "query": {
        "alllinks": [
            {
                "ns": 0,
                "title": "!"
            },
            {
                "ns": 0,
                "title": "!!"
            },
            {
                "ns": 0,
                "title": "!!!"
            },
            ...
}

Exemple de code

Python

#!/usr/bin/python3

"""
    get_alllinks.py

    MediaWiki API Demos
    Demo of `Alllinks` module: List links pointing to the given namespace.

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "alllinks",
    "alnamespace": "0",
    "alunique": "1"
}

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

LINKS = DATA["query"]["alllinks"]

for l in LINKS:
    print(l["title"])

PHP

<?php
/*
    get_alllinks.php

    MediaWiki API Demos
    Demo of `Alllinks` module: List links pointing to the given namespace.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "alllinks",
    "alnamespace" => "0",
    "alunique" => "1"
];

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

JavaScript

/*
    get_alllinks.js

    MediaWiki API Demos
    Demo of `Alllinks` module: List links pointing to the given namespace.

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    list: "alllinks",
    alnamespace: "0",
    alunique: "1"
};

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

MediaWiki JS

/*
	get_alllinks.js

	MediaWiki API Demos
	Demo of `Alllinks` module: List links pointing to the given namespace.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'alllinks',
		alnamespace: '0',
		alunique: '1'
	},
	api = new mw.Api();

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

Erreurs possibles

Code Info
badcontinue Paramètre de continuation non valide. Vous devez passer la valeur d’origine renvoyée par la requête précédente.
invalidparammix Le paramètre alprop=ids ne peut pas être utilisé avec alunique.
Cela se produit lorsque vous utilisez alprop=ids et alunique ensemble

Notes supplémentaires

  • Comme pour les autres modules de liens de API action , ce module renvoie les titres des pages qui pointent vers l'espace de noms, et non les URI exacts de ces pages.
  • Ce module peut être utilisé comme un générateur.
  • Les versions précédentes renverraient une erreur si l'utilisateur tentait d'exécuter ce module en tant que générateur et que alunique était défini sur true. Cela a été modifié dans la v1.24, pour permettre d'utiliser le module comme générateur même si alunique est true.

Voir aussi