【发布时间】:2019-09-28 02:09:58
【问题描述】:
我正在使用 Elsevier API 通过 scopus-api module 访问 Scopus 的引用计数数据(但我很乐意使用 Elsevier 的 elsapy module)。我可以访问我需要的数据,但每周可以提出的请求数量是有限制的。
如何获得一周的剩余请求数?
感谢所有帮助。
【问题讨论】:
我正在使用 Elsevier API 通过 scopus-api module 访问 Scopus 的引用计数数据(但我很乐意使用 Elsevier 的 elsapy module)。我可以访问我需要的数据,但每周可以提出的请求数量是有限制的。
如何获得一周的剩余请求数?
感谢所有帮助。
【问题讨论】:
虽然是一个老问题,但答案可能会对偶然发现它的其他人有所帮助。配额相关信息包含在对您的请求的响应的标头中。每个 API 端点似乎都有自己的限制。
这是一个仍然有配额剩余的响应示例:
{'allow': 'GET', 'Content-Encoding': 'gzip', 'Content-Type': 'application/xml;charset=UTF-8', 'Date': 'Fri, 26 Aug 2019 17:46:46 GMT', 'Server': 'Apache-Coyote/1.1', 'vary': 'Origin', 'X-ELS-APIKey': 'your-api-key-would-be-here', 'X-ELS-ReqId': '16385g19-b193-1308-5817-c5694db5619g', 'X-ELS-ResourceVersion': '默认', 'X-ELS-Status': 'OK' , 'X-ELS-TransId': '16385g19-b193-1308-5817-c5694db5619g', 'X-RateLimit-Limit': '20000', 'X-RateLimit-Remaining' : '19636', 'X-RateLimit-Reset': '2019-10-03 07:18:17', 'transfer-encoding': 'chunked', 'Connection': 'keep-alive'}
这是一个超出配额的示例:
{'Content-Encoding': 'gzip', 'Content-Type': 'text/xml;charset=UTF-8', 'Date': 'Fri, 19 Aug 2019 17:46:46 GMT', 'Server': 'Apache-Coyote/1.1', 'X-ELS-Status': 'QUOTA_EXCEEDED - Quota Exceeded', 'X-RateLimit-Reset': '2019-08- 26 05:51:01','内容长度':'191','连接':'keep-alive'}
在python中使用请求获取标头的示例:
url = https://api.elsevier.com/content/abstract/scopus_id/85040730407?apiKey=yourapikey
response = requests.get(url)
print(response.headers)
【讨论】: