如何从英文维基百科文章名称获取维基数据ID,也可用于重定向?有没有API调用?如何通过API获取Wikipedia文章的维基数据ID?
例子:
Karachi >> Q8660
Karaachi >> Q8660
如何处理在分配的变化?现在Media in Karachi重定向到Media of Pakistan(维基数据条目Q6805922),但可以在以后自己的文章。
如何从英文维基百科文章名称获取维基数据ID,也可用于重定向?有没有API调用?如何通过API获取Wikipedia文章的维基数据ID?
例子:
Karachi >> Q8660
Karaachi >> Q8660
如何处理在分配的变化?现在Media in Karachi重定向到Media of Pakistan(维基数据条目Q6805922),但可以在以后自己的文章。
使用维基百科的API来创建与财产pageprops和resolving redirects查询:
https://en.wikipedia.org/w/api.php?action=query&prop=pageprops&ppprop=wikibase_item&redirects=1&titles=ARTICLE_NAME
在你的情况,维基百科的文章“媒体在卡拉奇”和“巴基斯坦媒体”你会得到相同的维基数据项ID:Q6805922。 “Karaachi”和“Karachi”→Q8660。
除了接受的答案,您还可以使用直接传递站点和标题的Wikidata API。
的文档是在https://www.wikidata.org/w/api.php?action=help&modules=wbgetentities
我需要在G oogle Sheets,并能够用这样的公式来做到这一点。它假定维基百科标题是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")
另一个建议是使用dump https://dumps.wikimedia.org/enwiki/latest/enwiki-latest-page_props.sql.gz,230MB拉链
你有要解决的问题的一个例子' normalize'参数? – maxlath
是的,一个简单的例子是titles = karachi不会返回一个结果,因为标题是大写,normalize = 1会解决这个问题。 我会更新答案。 – Addshore