Encontre a categoria principal para o artigo usando a API da Wikipédia

Tenho uma lista de artigos e quero encontrar a categoria principal de cada artigo.

Wikipedia lista suas principais categorias aqui – http://en.wikipedia.org/wiki/Portal:Contenções/Categorias .

Posso encontrar as subcategorias de cada artigo usando:

http://en.wikipedia.org/w/api.php?action=query&prop=categories&titles=%s&format=xml

Também posso verificar se uma subcategoria está dentro de uma categoria:

http://en.wikipedia.org/w/api.php?action=query&titles=Dog&prop=categories&clcategories=Domesticated animals&format=xml

Isso vai me dizer se “animais domesticados” é uma subcategoria de Dog, mas isso não é exatamente o que eu quero. Quero verificar qual categoria principal ‘animais domesticados’ está dentro. Isso é possível usando a API?

Primeiro, não existe uma “API da Wikipedia”. Existe uma API MediaWiki (web). Saber isso ajudará você a encontrar informações sobre as ferramentas existentes. https://www.mediawiki.org/wiki/API:Main_Page

O que diz que não existe uma API que faça toda a recursion de categorias para você. Por quê? Porque 1) é extremamente ineficiente, 2) a recursion pode ir a qualquer lado ou nunca terminar.

No entanto, existe uma solução agora, por Magnus Manske: https://tools.wmflabs.org/catscan2/reverse_tree.php?doit=1&language=en&project=wikipedia&title=Dog&namespace=0 “Profundidade máxima: 61 níveis Categorias totais ao longo do caminho: 7988 “Usando essa definição, a categoria” raiz “para [[Cão]], ou seja, a categoria pai mais distante, é” Indústria por país “. Provavelmente não é o que você esperava! No entanto, a partir da perspectiva da Wikipedia em inglês, a categoria de raiz de qualquer artigo é sempre a mesma, [[Category: Contents]].