나는 아래 for 루프 내에서 여러 초록을 다운로드, 파이썬을 통해 API (스코 푸스)에 액세스하려고 : 그렇게에,오류 처리에 접근 API
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 루프의 다른 지점에도 있음). 오류 처리가이 문제를 해결하는 방법이라고 들었지만, 파이썬에 익숙하지 않은 것은 무엇인지 모르겠습니다. 누구든지 도와 줄 수 있습니까? 감사합니다
편집 : 여기에 불행하게도 당신이 언급 한 '위의 예외'를 포함하지 않은
Traceback (most recent call last):
File "C:\Users\User\Anaconda3\lib\site-packages\requests\packages\urllib3\connection.py", line 142, in _new_conn
(self.host, self.port), self.timeout, **extra_kw)
File "C:\Users\User\Anaconda3\lib\site-packages\requests\packages\urllib3\util\connection.py", line 91, in create_connection
raise err
File "C:\Users\User\Anaconda3\lib\site-packages\requests\packages\urllib3\util\connection.py", line 81, in create_connection
sock.connect(sa)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\User\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 578, in urlopen
chunked=chunked)
File "C:\Users\User\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 362, in _make_request
conn.request(method, url, **httplib_request_kw)
File "C:\Users\User\Anaconda3\lib\http\client.py", line 1106, in request
self._send_request(method, url, body, headers)
File "C:\Users\User\Anaconda3\lib\http\client.py", line 1151, in _send_request
self.endheaders(body)
File "C:\Users\User\Anaconda3\lib\http\client.py", line 1102, in endheaders
self._send_output(message_body)
File "C:\Users\User\Anaconda3\lib\http\client.py", line 934, in _send_output
self.send(msg)
File "C:\Users\User\Anaconda3\lib\http\client.py", line 877, in send
self.connect()
File "C:\Users\User\Anaconda3\lib\site-packages\requests\packages\urllib3\connection.py", line 167, in connect
conn = self._new_conn()
File "C:\Users\User\Anaconda3\lib\site-packages\requests\packages\urllib3\connection.py", line 151, in _new_conn
self, "Failed to establish a new connection: %s" % e)
requests.packages.urllib3.exceptions.NewConnectionError: <requests.packages.urllib3.connection.HTTPConnection object at 0x000002058C7E1C18>: Failed to establish a new connection: [WinError 10053] An established connection was aborted by the software in your host machine
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\User\Anaconda3\lib\site-packages\requests\adapters.py", line 403, in send
timeout=timeout
File "C:\Users\User\Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 623, in urlopen
_stacktrace=sys.exc_info()[2])
File "C:\Users\User\Anaconda3\lib\site-packages\requests\packages\urllib3\util\retry.py", line 281, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
requests.packages.urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='api.elsevier.com', port=80): Max retries exceeded with url: /content/abstract/eid/2-s2.0-84978766692?view=FULL (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x000002058C7E1C18>: Failed to establish a new connection: [WinError 10053] An established connection was aborted by the software in your host machine',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 5, in <module>
File "C:\Users\User\Anaconda3\lib\site-packages\requests\api.py", line 71, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\User\Anaconda3\lib\site-packages\requests\api.py", line 57, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\User\Anaconda3\lib\site-packages\requests\sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\User\Anaconda3\lib\site-packages\requests\sessions.py", line 585, in send
r = adapter.send(request, **kwargs)
File "C:\Users\User\Anaconda3\lib\site-packages\requests\adapters.py", line 467, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='api.elsevier.com', port=80): Max retries exceeded with url: /content/abstract/eid/2-s2.0-84978766692?view=FULL (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x000002058C7E1C18>: Failed to establish a new connection: [WinError 10053] An established connection was aborted by the software in your host machine',))
죄송합니다. 오류 메시지가 매우 길어서 그 내용 만 게시했습니다. 유효한 예외가 포함될 전체 오류를 포함하도록 편집합니다. –
전체 오류 메시지를 포함했지만 오랜 시간 동안 미안하지만 필요한 정보가 포함되어야합니다. –
예외가있는 것으로 보입니다 무작위 URL (이유는 확실하지 않음)에 있지만 예외가 발생하면 루프는 정상적으로 수행됩니다. 그것의 호스트처럼 무작위로 무작위로 glitchches –