【发布时间】:2018-11-23 19:46:18
【问题描述】:
所以今天我使用的是我自己编写的脚本,但我发现有问题。我使用多处理运行我的程序几个小时,然后我遇到了不同的错误。
第一个是:
第二个是:
最后一个:
Traceback (most recent call last):
self.wrapped.write(text[start:end])
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 40, in write
self.__convertor.write(text)
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 141, in write
self.write_and_convert(text)
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 169, in write_and_convert
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 40, in write
self.__convertor.write(text)
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 141, in write
self.write_and_convert(text)
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 169, in write_and_convert
self.write_plain_text(text, cursor, len(text)) File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 174, in write_plain_text
self.wrapped.write(text[start:end])
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 40, in write
self.__convertor.write(text)
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 141, in write
self.write_and_convert(text)
self.wrapped.write(text[start:end])
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 40, in write
self.__convertor.write(text)
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 141, in write
self.write_and_convert(text)
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 169, in write_and_convert
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 169, in write_and_convert
self.write_plain_text(text, cursor, len(text))
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 174, in write_plain_text
self.wrapped.write(text[start:end])
File "C:\Program Files\Python36\lib\site-packages\colorama\ansitowin32.py", line 40, in write
self.__convertor.write(text)
问题是我试图搜索所有这三个问题,但我并没有真正找到 Python 的信息,但我想问你们错误是什么意思,我可以了解它们的作用,我也想知道如何如果尝试命中,我可以避免它们/或重试 - 除非我假设?
我所做的类似的事情如下:
logger = Logger(value)
while True:
try:
url = 'https://www.google.com'
headers = {
'User-Agent': ('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36'
' (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36')
}
requests.packages.urllib3.disable_warnings()
resp = requests.get(url, headers=headers, verify=False, proxies=get_random_proxy(), timeout=12)
resp.raise_for_status()
if resp.status_code == 200 or 301:
return resp.url
except HTTPError as err:
randomtime = random.randint(0, 1)
logger.error('Error HTTPError! - Retrying in {} secs'.format(randomtime))
time.sleep(randomtime)
continue
except requests.exceptions.ConnectionError as err:
randomtime = random.randint(0, 1)
logger.error('Error ConnectionError proxy! - Retrying in {} secs'.format(randomtime))
time.sleep(randomtime)
continue
except requests.exceptions.RequestException as err:
randomtime = random.randint(0, 1)
logger.error('Request error proxy! - Retrying in {} secs'.format(randomtime))
time.sleep(randomtime)
continue
except ssl.SSLWantWriteError:
randomtime = random.randint(0, 1)
logger.error('SSL Write Error! - Retrying in {} secs'.format(randomtime))
time.sleep(randomtime)
continue
except ssl.SSLError as err:
randomtime = random.randint(0, 1)
logger.error('SSL ERROR!\n {} - Retrying in {} secs'.format(err, randomtime))
time.sleep(randomtime)
continue
我猜测不会出现这些错误的可能是做类似的事情
except ConnectionRefusedError as err:
randomtime = random.randint(0, 1)
logger.error('ERROR!\n {} - Retrying in {} secs'.format(err, randomtime))
time.sleep(randomtime)
continue
except request.exceptions.ProxyError as err:
randomtime = random.randint(0, 1)
logger.error('ERROR!\n {} - Retrying in {} secs'.format(err, randomtime))
time.sleep(randomtime)
continue
我不确定,但我会很感激。任何事情都将不胜感激!
【问题讨论】:
-
如果您收到
ConnectionRefusedError或ProxyError,再试一次是不太可能的。这些错误意味着某些事情实际上是错误,必须加以修复。 -
如果我可能会问他们会在哪些方面出错?您有什么基本的建议来解决它? @约翰戈登
-
ConnectionRefusedError表示远程主机不能或不想回答您的请求。修复它取决于为什么主机没有回答。也许您试图连接到错误的端口号,在这种情况下,修复是显而易见的——使用正确的端口号。或者主机配置为拒绝来自您的 IP 地址的请求,在这种情况下,您无能为力。 -
哦,这意味着最后它可能是一个代理,它也可能导致它实际上发生了 connectionRefusedError?
-
我对代理了解不多;我想它可能会以这种方式发生。
标签: python error-handling compiler-errors try-catch