我试图通过python访问一个API(Scopus),在下面的for循环中下载多个摘要:
for t in eid:
url = "http://api.elsevier.com/content/abstract/eid/"+str(t)+"?view=FULL"
# url = "http://api.elsevier.com/content/abstract/eid/2-s2.0-84934272190?view=FULL"
resp2 = requests.get(url,
headers={'Accept':'application/json',
'X-ELS-APIKey': MYAPIKEY})
retrieval = resp2.json()
dep = retrieval['abstracts-retrieval-response']['item']['bibrecord']['head']['author-group']
sub = retrieval['abstracts-retrieval-response']['subject-areas']['subject-area']
iD = retrieval['abstracts-retrieval-response']['coredata']['intid']
date = retrieval['abstracts-retrieval-response']['coredata']['prism:coverDate']
department.append(dep)
subj.append(sub)
ident.append(iD)
dates.append(date)
但是,在这样做之后,我继续收到以下错误(总是在for循环的不同点)。 有人告诉我错误处理是一种解决方法,但是作为Python新手,我不知道这是什么。有人能帮忙吗?谢谢
编辑:这是整个错误消息,应该包括所有正确的信息(抱歉,它很长)
^{pr2}$
不幸的是,您没有包含输出中提到的“上述异常”。在
但一般来说,当异常情况(如错误)在代码执行期间发生时,您可以捕获该异常并进行处理。一个例外是一个对象,上面有关于出错的信息。一般来说,异常处理是一个很大的主题,您可以从以下位置开始阅读:https://docs.python.org/3/tutorial/errors.html
处理异常的一个例子就是报告情况和异常。这可以让你洞察出了什么问题:
[编辑]
我查看了错误消息,您尝试连接的服务器似乎关闭了连接。另见Why is host aborting connection?,尽管原因可能完全不同。试试上面的代码,看看这是经常发生还是只发生在特定的URL上
[/编辑]
要进行一些重试,请使用:
^{pr2}$注:我还没有测试过这个,但它应该能传达总体思想。 “睡眠”是为了让服务器喘口气。。。在
相关问题 更多 >
编程相关推荐