如何从Wikipedia API获取特定类别的随机文章?

时间:2017-04-20 19:03:12

标签: wikipedia-api

这是我使用Wiki API获取一篇随机文章的链接:

https://en.wikipedia.org/w/api.php?%20format=json&action=query&prop=extracts&exsentences=2&exintro=&explaintext=&generator=random&grnnamespace=0

我需要从第一部分的前两句中得到它,它的效果非常好。

我想使用这种链接并在特定类别中搜索此随机文章。这是我在网上搜索后尝试过的:

https://en.wikipedia.org/w/api.php?%20format=json&action=query&prop=extracts&exsentences=2&exintro=&explaintext=&generator=random&grnnamespace=0&cmtitle=Category:Music

(我已将此部分添加到原始链接:cmtitle=Category:Music

它对我不起作用。 它获得了随机文章,如第一个链接(不在想要的类别下,这是此链接中的音乐)。

2 个答案:

答案 0 :(得分:1)

没有API来获取随机类别成员(并且使用某些不相关的API模块中的参数肯定无济于事)。您可以屏蔽Special:RandomInCategory(或将其转换为API模块 - patches welcome:)

答案 1 :(得分:0)

尝试使用cmlimit获取所有类别成员,然后使用编程语言(如Python来请求页面,然后将每个类别存储在数组中,并使用{{1} }模块从存储它们的数组中获取一个随机的catgeorymember。然后您可以在链接中使用它来获取categorymember或您需要的任何其他内容的特定页面。