Dro*_*man 10 python-3.x python-requests anaconda
我试图用anaconda python 3.5从url中获取数据
import requests
url ='http://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi'
r = requests.get(url)
r.content
Run Code Online (Sandbox Code Playgroud)
可以在浏览器中打开网址而不会出现问题...
但我收到一个错误(对于这个网址和我尝试的任何其他网址):
-------------------------------------------------- ------------------------ TypeError Traceback(最近一次调用最后一次)C:\ Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool _make_request中的.py(self,conn,method,url,timeout,**httplib_request_kw)375尝试:#Python 2.7,使用HTTP响应的缓冲 - > 376 httplib_response = conn.getresponse(buffering = True)377除TypeError外:## Python 2.6及更早版本
TypeError:getresponse()得到一个意外的关键字参数'buffering'
在处理上述异常期间,发生了另一个异常:
RemoteDisconnected Traceback(最近一次调用最后一次)在urlopen中的C:\ Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py(self,method,url,body,headers,retries,redirect,assert_same_host,timeout,pool_timeout ,release_conn,**response_kw)558 timeout = timeout_obj, - > 559 body = body,headers = headers)560
在_make_request(self,conn,method,url,timeout,**httplib_request_kw)中的C:\ Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py 377除TypeError外:#Python 2.6及更早版本 - > 378 httplib_response = conn.getresponse()379除了(SocketTimeout,BaseSSLError,SocketError)为e:
C:\ Anaconda3\lib\http\client.py在getresponse(self)1173
尝试: - > 1174 response.begin()1175除了ConnectionError:C:\ Anaconda3\lib\http\client.py in begin(self)281,True: - > 282 version,status,reason = self._read_status()283 if status!= CONTINUE:
C:\ Anaconda3\lib\http\client.py在_read_status(self)250#中发送有效回复. - > 251引发RemoteDisconnected("没有"252"响应的远程端关闭连接")
RemoteDisconnected:无响应的远程终端关闭连接
在处理上述异常期间,发生了另一个异常:
ProtocolError Traceback(最近一次调用last)C:\ Anaconda3\lib\site-packages\requests\adapters.py in send(self,request,stream,timeout,verify,cert,proxies)369 retries = self.max_retries, - > 370 timeout = timeout 371)
urlopen中的C:\ Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py(self,method,url,body,headers,retries,redirect,assert_same_host,timeout,pool_timeout,release_conn,**response_kw)608 retries = retries.increment(method,url,error = e,_pool = self, - > 609 _stacktrace = sys.exc_info()[2])610 retries.sleep()
C:\ Anaconda3\lib\site-packages\requests\packages\urllib3\util\retry.py in increment(self,method,url,response,error,_pool,_stacktrace)244如果读取为False: - > 245 raise six.reraise(type(error),error,_stacktrace)246 elif read not not None:
C:\ Anaconda3\lib\site-packages\requests\packages\urllib3\packages\six.py in reraise(tp,value,tb)308 if value.回溯不是tb: - > 309提升value.with_traceback(tb)310提升值
urlopen中的C:\ Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py(self,method,url,body,headers,retries,redirect,assert_same_host,timeout,pool_timeout,release_conn,**response_kw)558 timeout = timeout_obj, - > 559 body = body,headers = headers)560
在_make_request(self,conn,method,url,timeout,**httplib_request_kw)中的C:\ Anaconda3\lib\site-packages\requests\packages\urllib3\connectionpool.py 377除TypeError外:#Python 2.6及更早版本 - > 378 httplib_response = conn.getresponse()379除了(SocketTimeout,BaseSSLError,SocketError)为e:
C:\ Anaconda3\lib\http\client.py在getresponse(self)1173
尝试: - > 1174 response.begin()1175除了ConnectionError:C:\ Anaconda3\lib\http\client.py in begin(self)281,True: - > 282 version,status,reason = self._read_status()283 if status!= CONTINUE:
C:\ Anaconda3\lib\http\client.py在_read_status(self)250#中发送有效回复. - > 251引发RemoteDisconnected("没有"252"响应的远程端关闭连接")
ProtocolError :('Connection aborted.',RemoteDisconnected('remote end closed connection without response',))
在处理上述异常期间,发生了另一个异常:
()3中的ConnectionError Traceback(最近一次调用最后一次)导入请求4 url =' http ://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi'----> 5 r = requests.得到(url)6 r.content
C:\ Anaconda3\lib\site-packages\requests\api.py in get(url,params,**kwargs)67 68 kwargs.setdefault('allow_redirects',True)---> 69返回请求('get' ,url,params = params,**kwargs)70 71
请求中的C:\ Anaconda3\lib\site-packages\requests\api.py(方法,url,**kwargs)48 49 session = sessions.Session()---> 50 response = session.request(method = method ,url = url,**kwargs)51#通过显式关闭会话,我们避免让套接字打开,52#可以在某些情况下触发ResourceWarning,看起来像内存泄漏
请求中的C:\ Anaconda3\lib\site-packages\requests\sessions.py(self,method,url,params,data,headers,cookies,files,auth,timeout,allow_redirects,proxies,hooks,stream,verify,cert ,json)466} 467 send_kwargs.update(设置) - > 468 resp = self.send(prep,**send_kwargs)469 470 return resp
C:\ Anaconda3\lib\site-packages\requests\sessions.py in send(self,request,**kwargs)574 575#发送请求 - > 576 r = adapter.send(request,**kwargs)577 578#请求的总耗用时间(约)
发送中的C:\ Anaconda3\lib\site-packages\requests\adapters.py(self,request,stream,timeout,verify,cert,proxies)410 411除了(ProtocolError,socket.error)为错误: - > 412引发ConnectionError(错误,请求=请求)413 414除了MaxRetryError为e:
ConnectionError :('Connection aborted.',RemoteDisconnected('remote end closed connection without response',))
小智 13
尝试使用请求会话.
import requests
MAX_RETRIES = 20
url ='http://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi'
session = requests.Session()
adapter = requests.adapters.HTTPAdapter(max_retries=MAX_RETRIES)
session.mount('https://', adapter)
session.mount('http://', adapter)
r = session.get(url)
print(r.content)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17042 次 |
| 最近记录: |