【发布时间】:2020-11-13 03:45:57
【问题描述】:
我在 Spotify API 调用中遇到错误。是否有解决这些超时问题的方法。 Python Spotify Code
TimeoutError Traceback(最近一次调用最后一次) C:\ProgramData\Anaconda3\lib\site-packages\urllib3\util\connection.py 在 create_connection(地址,超时,source_address,socket_options) 73 sock.bind(源地址) ---> 74 sock.connect(sa) 75回袜子
TimeoutError: [WinError 10060] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应
在处理上述异常的过程中,又发生了一个异常:
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-11-eb4cef5ffdbb> in <module>
5 #print(artist)
6 #time.sleep(2)
----> 7 result = spotify.search(artist,search_type='artist')['artists']['items']
8 #print(result)
9 try:
<ipython-input-7-6a2d183a2f3a> in search(self, query, search_type)
80 data = urlencode({"q": query, "type": search_type.lower()})
81 lookup_url = f"{endpoint}?{data}"
---> 82 r = requests.get(lookup_url, headers=headers)#.json()
83 if r.status_code not in range(200, 299):
84 return {}
C:\ProgramData\Anaconda3\lib\site-packages\requests\api.py in get(url, params, **kwargs)
74
75 kwargs.setdefault('allow_redirects', True)
---> 76 return request('get', url, params=params, **kwargs)
77
78
C:\ProgramData\Anaconda3\lib\site-packages\requests\api.py in request(method, url, **kwargs)
59 # cases, and look like a memory leak in others.
60 with sessions.Session() as session:
---> 61 return session.request(method=method, url=url, **kwargs)
62
63
C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
528 }
529 send_kwargs.update(settings)
--> 530 resp = self.send(prep, **send_kwargs)
531
532 return resp
C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py in send(self, request, **kwargs)
641
642 # Send the request
--> 643 r = adapter.send(request, **kwargs)
644
645 # Total elapsed time of the request (approximately)
C:\ProgramData\Anaconda3\lib\site-packages\requests\adapters.py in send(self, request, stream, timeout, verify, cert, proxies)
437 try:
438 if not chunked:
--> 439 resp = conn.urlopen(
440 method=request.method,
441 url=url,
C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connectionpool.py in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)
668
669 # Make the request on the httplib connection object.
--> 670 httplib_response = self._make_request(
671 conn,
672 method,
C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connectionpool.py in _make_request(self, conn, method, url, timeout, chunked, **httplib_request_kw)
379 # Trigger any extra validation we need to do.
380 try:
--> 381 self._validate_conn(conn)
382 except (SocketTimeout, BaseSSLError) as e:
383 # Py2 raises this as a BaseSSLError, Py3 raises it as socket timeout.
C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connectionpool.py in _validate_conn(self, conn)
974 # Force connect early to allow us to validate the connection.
975 if not getattr(conn, "sock", None): # AppEngine might not have `.sock`
--> 976 conn.connect()
977
978 if not conn.is_verified:
C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connection.py in connect(self)
306 def connect(self):
307 # Add certificate verification
--> 308 conn = self._new_conn()
309 hostname = self.host
310
C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connection.py in _new_conn(self)
157
158 try:
--> 159 conn = connection.create_connection(
160 (self._dns_host, self.port), self.timeout, **extra_kw
161 )
C:\ProgramData\Anaconda3\lib\site-packages\urllib3\util\connection.py in create_connection(address, timeout, source_address, socket_options)
72 if source_address:
73 sock.bind(source_address)
---> 74 sock.connect(sa)
75 return sock
76
KeyboardInterrupt:
1
###########Create Data frame with required columns to be extracte
[1]: https://i.stack.imgur.com/lCaz4.p
ng
【问题讨论】: