API: Categorias
Appearance
| Esta página faz parte da documentação da API de Ação do MediaWiki. |
| Versão MediaWiki: | ≥ 1.11 |
Pedido GET para ver as categorias associadas com uma página ou páginas.
Este módulo pode ser utilizado como um gerador.
Documentação da API
Exemplo
Pedido GET
Pedido GET para ver as categorias numa página.
api.php? action=query& format=json& titles=Janelle%20Monáe& prop=categories [teste na 'Área de Testes' da API (Sandbox)]
Resposta
{
"continue": {
"clcontinue": "13828397|Afrofuturists",
"continue": "||"
},
"query": {
"pages": {
"13828397": {
"pageid": 13828397,
"ns": 0,
"title": "Janelle Mon\u00e1e",
"categories": [
{
"ns": 14,
"title": "Category:1985 births"
},
{
"ns": 14,
"title": "Category:21st-century American actresses"
},
{
"ns": 14,
"title": "Category:21st-century American singers"
},
...
]
}
}
}
}
Código amostra
Python
#!/usr/bin/python3
"""
get_categories.py
MediaWiki API Demos
Demo of `Categories` module: Get categories associated with a page.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"prop": "categories",
"titles": "Janelle Monáe"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
PAGES = DATA["query"]["pages"]
for k, v in PAGES.items():
for cat in v['categories']:
print(cat["title"])
PHP
<?php
/*
get_categories.php
MediaWiki API Demos
Demo of `Categories` module: Get categories associated with a page.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"prop" => "categories",
"titles" => "Janelle Monáe"
];
$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["categories"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
}
JavaScript
/*
get_categories.js
MediaWiki API Demos
Demo of `Categories` module: Get categories associated with a page.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
prop: "categories",
titles: "Janelle Monáe"
};
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 cat of pages[p].categories) {
console.log(cat.title);
}
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_categories.js
MediaWiki API Demos
Demo of `Categories` module: Get categories associated with a page.
MIT License
*/
var params = {
action: 'query',
format: 'json',
prop: 'categories',
titles: 'Janelle Monáe'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var pages = data.query.pages,
p;
for ( p in pages ) {
pages[ p ].categories.forEach( function ( cat ) {
console.log( cat.title );
} );
}
} );
Erros possíveis
| Código | Informação |
|---|---|
| clshow | Parâmetro incorreto - não podem ser fornecidos valores mutuamente exclusivos. |
Histórico de parâmetros
- v1.20: Introduzido
cldir - v1.16: Introduzido
clprop=hidden - v1.15: Introduzido
clcategories - v1.14: Introduzido
clshow - v1.13: Introduzido
clcontinue,cllimit,clprop=timestamp
Consultar também
- API:Categorymembers - lista as páginas que são membros de uma determinada categoria.
- API:Allpages - lista todas as páginas que se ajustam a determinados critérios; esta também pode aceder à categoria espaço nominal.
- API:Todas as Categorias - um módulo
listque obtém categorias de toda a wiki, baseado em certos critérios relacionados com o título da categoria.