eli*_*190 5 api request wikidata wikidata-api
我想知道最简单的方法是通过标签搜索从 wikidata 获取数据,例如:
API_ENDPOINT = "https://www.wikidata.org/w/api.php"
query = "cobalt-70"
params = {
'action': 'wbsearchentities',
'format': 'json',
'language': 'en',
'type':'item',
'search': query
}
r = requests.get(API_ENDPOINT, params = params)
Output:
{'searchinfo': {'search': 'cobalt-70'}, 'search': [{'id': 'Q18844865', 'title': 'Q18844865', 'pageid': 20388165, 'repository': 'local', 'url': '//www.wikidata.org/wiki/Q18844865', 'concepturi': 'http://www.wikidata.org/entity/Q18844865', 'label': 'cobalt-70', 'description': 'isotope of cobalt', 'match': {'type': 'label', 'language': 'en', 'text': 'cobalt-70'}}, {'id': 'Q18880148', 'title': 'Q18880148', 'pageid': 20426734, 'repository': 'local', 'url': '//www.wikidata.org/wiki/Q18880148', 'concepturi': 'http://www.wikidata.org/entity/Q18880148', 'label': 'cobalt-70m', 'description': 'isotope of cobalt', 'match': {'type': 'label', 'language': 'en', 'text': 'cobalt-70m'}}], 'success': 1}
Run Code Online (Sandbox Code Playgroud)
因此,我想通过在操作参数中使用“claims”来获取具有相同 url 请求的语句。例如:
"P2114": [
{
"mainsnak": {
"snaktype": "value",
"property": "P2114",
"hash": "6f767f24024d5e0045afcf4d49d1a1b4dbc88fe5",
"datavalue": {
"value": {
"amount": "+0.5",
"unit": "http://www.wikidata.org/entity/Q11574",
"upperBound": "+0.68",
"lowerBound": "+0.32"
},
"type": "quantity"
},
"datatype": "quantity"
},
....
Run Code Online (Sandbox Code Playgroud)
谢谢你!
归档时间: |
|
查看次数: |
553 次 |
最近记录: |