Jump to content

API:Allredirects

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

Requête GET pour lister toutes les redirections. Tous les filtres disponibles avec cette API affectent les cibles des redirection et non les sources des redirections.

Ce module peut être utilisé en tant que générateur . Lorsqu'il est utilisé comme générateur, les titres utilisés pour le générateur proviennent des sources des redirections au lieu des cibles des redirections, sauf si le paramètre garunique est utilisé.

Documentation de l'API

list=allredirects (ar)

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

List all redirects to a namespace.

Specific parameters:
Other general parameters are available.
arcontinue

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

arfrom

The title of the redirect to start enumerating from.

arto

The title of the redirect to stop enumerating at.

arprefix

Search for all target pages that begin with this value.

arunique

Only show distinct target pages. Cannot be used with arprop=ids|fragment|interwiki.

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

Type: boolean (details)
arprop

Which pieces of information to include:

ids
Adds the page ID of the redirecting page (cannot be used with arunique).
title
Adds the title of the redirect.
fragment
Adds the fragment from the redirect, if any (cannot be used with arunique).
interwiki
Adds the interwiki prefix from the redirect, if any (cannot be used with arunique).
Values (separate with | or alternative): fragment, ids, interwiki, title
Default: title
arnamespace

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
arlimit

How many total items to return.

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

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
Examples:
List target pages, including missing ones, with page IDs they are from, starting at B.
api.php?action=query&list=allredirects&arfrom=B&arprop=ids|title [open in sandbox]
List unique target pages.
api.php?action=query&list=allredirects&arunique=&arfrom=B [open in sandbox]
Gets all target pages, marking the missing ones.
api.php?action=query&generator=allredirects&garunique=&garfrom=B [open in sandbox]
Gets pages containing the redirects.
api.php?action=query&generator=allredirects&garfrom=B [open in sandbox]


Les paramètres d'entrée arfrom, arto et arprefix sont filtrés par le titre de la redirection cible sans l'espace de noms. Un espace de noms ne doit pas être ajouté à ces paramètres, sinon l'API renvoie une erreur invalidtitle. Cela signifie que ces paramètres filtrent efficacement les titres dans l'espace de noms principal, à moins qu'un espace de noms différent ne soit sélectionné par le paramètre arnamespace, ce qui affecterait les titres de cet espace de noms.

Exemple

Requête GET

Obtenir les trois premières pages distinctes contenant des redirections vers l'espace de nom principal.

Réponse

A la fois le titre et l'espace de noms renvoyé se réfèrent à la cible de la redirection et non pas à la redirection elle-même.

{
    "batchcomplete": "",
    "continue": {
        "arcontinue": "!Women_Art_Revolution",
        "continue": "-||"
    },
    "query": {
        "allredirects": [
            {
                "ns": 0,
                "title": "!Action Pact!"
            },
            {
                "ns": 0,
                "title": "!Arriba! La Pachanga"
            },
            {
                "ns": 0,
                "title": "!Hero"
            }
        ]
    }
}

Exemple de code

Python

#!/usr/bin/python3

"""
    get_allredirects.py

    MediaWiki API Demos
    Demo of `Allredirects` module: Get the first three unique pages containing
    redirects to the main namespace.

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "allredirects",
    "arunique": "1",
    "arnamespace": "0",
    "arlimit": "3"
}

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

REDIRECTS = DATA["query"]["allredirects"]

for r in REDIRECTS:
    print(r["title"])

PHP

<?php
/*
    get_allredirects.php

    MediaWiki API Demos
    Demo of `Allredirects` module: Get the first three unique pages containing redirects to the main namespace.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "allredirects",
    "arunique" => "1",
    "arnamespace" => "0",
    "arlimit" => "3"
];

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

JavaScript

/*
    get_allredirects.js

    MediaWiki API Demos
    Demo of `Allredirects` module: Get the first three unique pages containing redirects to the main namespace.

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    list: "allredirects",
    arunique: "1",
    arnamespace: "0",
    arlimit: "3"
};

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

MediaWiki JS

/*
	get_allredirects.js

	MediaWiki API Demos
	Demo of `Allredirects` module: Get the first three unique
	pages containing redirects to the main namespace.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'allredirects',
		arunique: '1',
		arnamespace: '0',
		arlimit: '3'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var redirects = data.query.allredirects,
		r;
	for ( r in redirects ) {
		console.log( redirects[ r ].title );
	}
} );

Notes supplémentaires

Voir aussi

  • API:Redirects/fr - Liste toutes les redirections vers une ou plusieurs pages données.