获取任意语言中一个词的所有维基百科意思
我想要获取一个词在维基百科上的所有意思。例如,对于“bar”这个词,它的不同意思可以在这个链接找到:http://en.wikipedia.org/wiki/Bar_(disambiguation):
- 酒吧
- 甜点吧
- 潜水酒吧
- ...
有没有办法通过维基百科的API获取不同语言的词的不同意思呢?
对于英语,我觉得这些链接大多是按照上面的格式(标题中包含“disambiguation”)来写的。但对于西班牙语或其他语言,意思解释页面的链接就不一样了。
我尝试查看分类页面,这里列出了所有的意思解释页面(例如:http://en.wikipedia.org/w/index.php?title=Category:All_article_disambiguation_pages&pagefrom=a),但它并没有直接列出所有词的不同意思。
1 个回答
1
现在大多数(几乎所有)维基百科的版本都安装了一个叫做消歧义器的扩展,这意味着你可以通过API访问所有的消歧义页面:
api.php?action=query&list=querypage&qppage=DisambiguationPages
不过,在像维基百科这样的WMF维基上,通过这种方式获取的结果数量是有限制的,所以如果你需要获取所有的结果,就得下载一个数据库备份,然后在这个备份上进行查询(在这种情况下,你可以了解一下page_props表,并对其进行SQL查询)。
第二种方法是使用WikiData,查询所有作为实例(P31)的维基媒体消歧义页面(Q4167410)。