作为输入,我们有一个维基百科页面title
,我们要为其提取维基百科page ID
。为此我使用以下python代码:
#! /usr/bin/python
# -*- coding: utf-8 -*
import requests
if __name__ == "__main__":
url = "https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&titles=Daniel cudmore businessman"
result = requests.get(url).json()
print result
我无法查找以下标题的维基百科页面ID:
{u'batchcomplete': u'', u'query': {u'pages': {u'-1': {u'ns': 0, u'missing': u'', u'title': u'Daniel cudmore businessman'}}}}
页面的实际ID应为: 37030093
在这里,问题是所使用的维基百科页面标题是 Daniel Cudmore(商人),其中我的格式为 daniel cudmore商人。
{u'batchcomplete': u'', u'query': {u'normalized': [{u'to': u'Prince david of georgia', u'from': u'prince david of georgia'}], u'pages': {u'-1': {u'ns': 0, u'missing': u'', u'title': u'Prince david of georgia'}}}}
页面的实际ID应为: 3443932
在这里,维基百科页面的标题和我使用的标题是相同的。我找不到问题。
SELECT ?id WHERE {
<http://dbpedia.org/resource/Daniel_Cudmore_(businessman)>
<http://dbpedia.org/ontology/wikiPageID> ?id}
答案 0 :(得分:1)
在后一个示例(“Prince_david_of_georgia”)中,您有不同的字符大小写(与“Prince_David_of_Georgia”相比),因此维基百科上也不存在特定页面
您可以使用Special Search
- 网址:https://en.wikipedia.org/wiki/Special:Search/Prince_david_of_georgia获取请求的网页,然后检索ID
或建议列表: https://en.wikipedia.org/wiki/Special:Search/Daniel_Cudmore_businessman 您可以解析第一个条目。这可能是你的页面。做一些没有空格,大括号等的字符串比较来仔细检查 - 然后就像你一样检索ID。