2017-10-13 81 views

回答

2

我不知道这是否可能与维基百科API函数。但是,它可以使用非常普通的Python代码来完成。

>>> from lxml import html 
>>> import requests 

取得列出所有精选文章的页面。

>>> page = requests.get('https://en.wikipedia.org/wiki/Wikipedia:Featured_articles').content 

解析它适合用于搜索目的。

>>> tree = html.fromstring(page) 

假设我们正在搜索名为'墨尔本城堡'的维基百科文章。

>>> wiki_title = 'Melbourne Castle' 

找到该出版物的所有相关链接。

>>> links = tree.xpath('.//a[@href="/wiki/%s"]'%wiki_title.replace(' ', '_')) 

如果links是一个非空列表,这意味着与冠军“墨尔本城堡”的文章的链接已被发现,然后打印一个合适的结果,或以其他方式。

>>> if links: 
...  links[0].text + ' is a featured article' 
... else: 
...  links[0].text + ' is NOT a featured article' 
... 
'Melbourne Castle is a featured article' 
1

也许最语义和便携的方法是检查Wikidata badgesexample)虽然repsonse格式有点模糊。

或者,您可以通过list=categorymembers API模块或通过prop=transcludedin模块查看特色文章模板来检查特色文章类别。

相关问题