如何通过API获取维基百科文章的维基数据ID?

时间:2016-05-04 10:16:49

标签: wikipedia wikipedia-api wikidata wikidata-api

如何从英文维基百科文章名称获取维基数据ID,也用于重定向?是否有API调用?

示例:

Karachi >> Q8660
Karaachi >> Q8660

如何处理作业的变更?现在Media in Karachi重定向到Media of Pakistan(维基数据项Q6805922),但稍后可能会有自己的文章。

3 个答案:

答案 0 :(得分:13)

使用Wikipedia API创建包含属性pagepropsresolving redirects的查询:

https://en.wikipedia.org/w/api.php?action=query&prop=pageprops&ppprop=wikibase_item&redirects=1&titles=ARTICLE_NAME

在您的情况下,对于维基百科文章" Media in Karachi" " Media of Pakistan" ,您将得到相同的Wikidata商品ID:Q6805922" Karaachi" "卡拉奇" Q8660也是如此。

答案 1 :(得分:3)

除了接受的答案,您还可以使用维基数据API直接传入网站和标题。

文档位于https://www.wikidata.org/w/api.php?action=help&modules=wbgetentities

获取http://en.wikipedia.org/wiki/Karachi的实体:

答案 2 :(得分:2)

我需要在Google表格中完成,并且可以使用这样的公式来完成。它假设维基百科标题在B列中。向下复制到您需要的行

=IMPORTXML(concat("https://en.wikipedia.org/w/api.php?action=query&prop=pageprops&ppprop=wikibase_item&redirects=1&format=xml&titles=",B1),"//@wikibase_item")

另一个建议是使用转储https://dumps.wikimedia.org/enwiki/latest/enwiki-latest-page_props.sql.gz,230Mb压缩