API:Alllinks
MediaWiki Action API |
---|
Basics |
Authentication |
Accounts and Users |
Page Operations |
|
Search |
Developer Utilities |
Tutorials |
v · d · e |
GET request to list links that point to a given namespace , ordered by title.
This module can be used as a generator.
API documentation
[edit ]list=alllinks (al)
- 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.
- 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, 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
- 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]
Example
[edit ]By default, this module will return duplicates if a page contains multiple links pointing to the same namespace.
This example uses alunique=1
to remove any duplicate titles in the response.
GET request
[edit ]Response
[edit ]{ "batchcomplete":"", "continue":{ "alcontinue":"!!!!Hashtagging", "continue":"-||" }, "query":{ "alllinks":[ { "ns":0, "title":"!" }, { "ns":0, "title":"!!" }, { "ns":0, "title":"!!!" }, ... }
Sample code
[edit ]Python
[edit ]#!/usr/bin/python3 """ get_alllinks.py MediaWiki API Demos Demo of `Alllinks` module: List links pointing to the given namespace. MIT License """ importrequests 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
[edit ]<?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
[edit ]/* get_alllinks.js MediaWiki API Demos Demo of `Alllinks` module: List links pointing to the given namespace. MIT License */ varurl="https://en.wikipedia.org/w/api.php"; varparams={ 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){returnresponse.json();}) .then(function(response){ varlinks=response.query.alllinks; for(varlinlinks){ console.log(links[l].title); } }) .catch(function(error){console.log(error);});
MediaWiki JS
[edit ]/* get_alllinks.js MediaWiki API Demos Demo of `Alllinks` module: List links pointing to the given namespace. MIT License */ varparams={ action:'query', format:'json', list:'alllinks', alnamespace:'0', alunique:'1' }, api=newmw.Api(); api.get(params).done(function(data){ varlinks=data.query.alllinks, l; for(linlinks){ console.log(links[l].title); } });
Possible errors
[edit ]Code | Info |
---|---|
badcontinue | Invalid continue param. You should pass the original value returned by the previous query. |
invalidparammix | The alprop=ids parameter cannot be used with alunique. This happens when you use
alprop=ids and alunique together |
Additional notes
[edit ]- As with other link modules within the Action API , this module returns the titles of the pages that link to the namespace, not the exact URIs to those pages.
- This module can be used as a generator.
- Previous versions would return an error if the user tried to run this module as a generator, and
alunique
was set to true. This was altered in v1.24, to allow using the module as a generator even ifalunique
is true.
See also
[edit ]- API:Backlinks - lists links to a given page.
- API:Linkshere - similar to API:Backlinks , gets links to a given page. Note that, unlike API:Backlinks , which is a
list
module, API:Linkshere is aprop
module. See the respective pages on API:Properties and API:Lists for how these two kinds of modules differ. - API:Links - retrieves links on a given page or pages.