使用Python中的请求库从Microsoft Academic Knowledge REST API获取数据
我不熟悉使用请求库和API。我想使用并将结果放在一个数据框中。到目前为止,我得到的是:使用Python中的请求库从Microsoft Academic Knowledge REST API获取数据,python,api,python-requests,Python,Api,Python Requests,我不熟悉使用请求库和API。我想使用并将结果放在一个数据框中。到目前为止,我得到的是: import requests url = 'https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate?' params = { "expr":"Composite(AA.AuN=='jaime teevan')", "count":2, "at
import requests
url = 'https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate?'
params = {
"expr":"Composite(AA.AuN=='jaime teevan')",
"count":2,
"attributes":"Ti,Y,CC,AA.AuN,AA.AuId",
}
r = requests.post(url, params=params)
print(r.status_code)
print(r.json())
我有一把主键,不知道放在哪里。谢谢。密钥有点隐藏,因此您需要将密钥作为请求头的一部分提交:
import requests
subscription_key = 'XXX'
url = 'https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate'
params = {
"expr": "Composite(AA.AuN=='jaime teevan')",
"count": 2,
"attributes": "Ti,Y,CC,AA.AuN,AA.AuId"
}
headers = {'Ocp-Apim-Subscription-Key': subscription_key}
r = requests.post(url, params=params, headers=headers)
print(r.status_code)
print(r.json())
我猜主键是指订阅密钥,是吗?这是正确的。嗯,这最终给出HTTP状态500(内部服务错误)。在Python中,我得到了错误“JSONDecodeError:Expecting value:第1行第1列(char 0)”,知道为什么吗(是的,我确实用有效的密钥替换了订阅密钥)?谢谢。您想使用
GET evaluate
还是POST evaluate
(参见答案中的链接)?因为标题是GET,方法是POST。对于POST
我们可能需要更改正文和标题。content-typeYes,看起来像GET evaluate
是我要找的。非常感谢。