1

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

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 中搜索时,会出现很多结果:

在此处输入图像描述

在此处输入图像描述

谁能帮我?非常感谢!

4

1 回答 1

0

看起来两个搜索系统都使用不同的 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())

文档

于 2019-03-07T11:39:34.477 回答