为什么我只能通过wikidata python包得到一个关键字结果?

时间:2019-03-07 08:39:44

标签: wikidata wikidata-api

我想获取文本包含关键字“ tweet about”的所有实体,这是我的python代码:`import wikidata 导入请求

API_ENDPOINT="https://www.wikidata.org/w/api.php"
query="tweet about"
params={
    'action':'wbsearchentities',
    'format':'json',
    'language':'en',
    'search':query
}
r=requests.get(API_ENDPOINT,params=params)
print(r.json())

,打印内容为:

[{'repository': '', 'id': 'Q58571598', 'concepturi': 'http://www.wikidata.org/entity/Q58571598', 'title': 'Q58571598', 'pageid': 58483717, 'url': '//www.wikidata.org/wiki/Q58571598', 'label': 'Tweet about Skin or a Digital Homage to Skin', 'match': {'type': 'label', 'language': 'en', 'text': 'Tweet about Skin or a Digital Homage to Skin'}}]

但是当我在wikidata中搜索时,会有很多结果:

enter image description here

enter image description here

有人可以帮助我吗?非常感谢你!

1 个答案:

答案 0 :(得分:0)

看起来像两个搜索系统use a different API

您可能应该玩这样的东西:

import requests

API_ENDPOINT = "https://www.wikidata.org/w/api.php"
query = "tweet about"
params = {
    'action': 'query',
    'list':'search',
    'format': 'json',
    'srsearch': query,
    'srprop' : 'titlesnippet|snippet',
    'srlimit':100
}

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

Documentation