从Python中的Wikidata中提取数据

从Python中的Wikidata中提取数据,python,json,wikidata-api,Python,Json,Wikidata Api,使用以下代码可以从Wikidata中的实体提取数据: import requests API_ENDPOINT = "https://www.wikidata.org/w/api.php" query = "wikipedia" params = { 'action': 'wbsearchentities', 'format': 'json', 'language': 'en', 'search': query } r = requests.get(API

使用以下代码可以从Wikidata中的实体提取数据:

import requests

API_ENDPOINT = "https://www.wikidata.org/w/api.php"

query = "wikipedia"

params = {
    'action': 'wbsearchentities',
    'format': 'json',
    'language': 'en',
    'search': query
}

r = requests.get(API_ENDPOINT, params = params)

print(r.json()['search'][0])
输出为:

{'repository': '', 'id': 'Q52', 'concepturi': 'http://www.wikidata.org/entity/Q52', 'title': 'Q52', 'pageid': 170, 'url': '//www.wikidata.org/wiki/Q52', 'label': 'Wikipedia', 'description': 'free online encyclopedia that anyone can edit', 'match': {'type': 'label', 'language': 'en', 'text': 'Wikipedia'}}
但是转到concepturi“我看到了比json文件中报告的更多的信息,特别是我对座右铭文本字段感兴趣


如何从Wikidata获取更多信息?(这是一个示例,其中查询输出的信息少于Wikidata中包含的信息。)

您可以使用Wikidata python模块


这个问题与编程无关,它与Wikidata API有关。我建议您阅读。使用
wbgetentities
URL:Thank@故意留白,我有点迷路了,我正在阅读api文档,希望看到足够清晰的内容。在SPARQL中:请看。似乎有一个更成熟的python包名为。
from qwikidata.sparql  import return_sparql_query_results

query_string = """
        SELECT $WDid
         WHERE {
          ?WDid (wdt:P279)* wd:Q4022
        }"""

res = return_sparql_query_results(query_string)

for row in res["results"]["bindings"]:
   print(row["yourFieldName"]["value"])