如何格式化或规范化维基百科标题以获得其维基百科页面 ID (python)
How can I format or normalize a wikipedia title in order to get its wikipedia page id (python)
简介
作为输入,我们有一个维基百科页面 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 businessman.
{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}
在后一个例子 ("Prince_david_of_georgia") 中,你有不同的字符大小写(与 "Prince_David_of_Georgia" 比较),因此维基百科上也不存在该特定页面
您可以使用 Special Search
-URL: https://en.wikipedia.org/wiki/Special:Search/Prince_david_of_georgia 获取请求的页面,然后检索 ID
或建议列表:
https://en.wikipedia.org/wiki/Special:Search/Daniel_Cudmore_businessman
您可以解析第一个条目。这可能是您的页面。在没有白色 space、大括号等的情况下进行一些字符串比较以仔细检查 - 然后像您所做的那样检索 ID。
简介
作为输入,我们有一个维基百科页面 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 businessman.
{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}
在后一个例子 ("Prince_david_of_georgia") 中,你有不同的字符大小写(与 "Prince_David_of_Georgia" 比较),因此维基百科上也不存在该特定页面
您可以使用 Special Search
-URL: https://en.wikipedia.org/wiki/Special:Search/Prince_david_of_georgia 获取请求的页面,然后检索 ID
或建议列表: https://en.wikipedia.org/wiki/Special:Search/Daniel_Cudmore_businessman 您可以解析第一个条目。这可能是您的页面。在没有白色 space、大括号等的情况下进行一些字符串比较以仔细检查 - 然后像您所做的那样检索 ID。