ConnectionError:如何处理这个错误?
Posted
技术标签:
【中文标题】ConnectionError:如何处理这个错误?【英文标题】:ConnectionError: how to handle this error? 【发布时间】:2021-05-11 11:55:59 【问题描述】:我收到以下错误:
ProtocolError: ('Connection aborted.', OSError(0, 'Error'))
在处理上述异常的过程中,又发生了一个异常:
ConnectionError Traceback(最近调用 最后)在
---> 16 df['List'] = df['Link'].apply(get_all_links)
/anaconda3/lib/python3.7/site-packages/pandas/core/series.py 在 应用(自我,函数,convert_dtype,args,**kwds)4106 否则:4107 值 = self.astype(object)._values -> 4108 mapped = lib.map_infer(values, f, convert=convert_dtype) 4109 4110 if len(mapped) and isinstance(mapped[0], 系列):
pandas/_libs/lib.pyx 在 pandas._libs.lib.map_infer()
在 get_all_links(url) 7 # 但这超出了这里的范围 8 打印(网址) ----> 9 汤 = BeautifulSoup(requests.get(url).content, "html.parser") 10 11 return [a.attrs.get('href', '') for a in soup.find_all('a')]
/anaconda3/lib/python3.7/site-packages/requests/api.py in get(url, 参数,**kwargs) 74 75 kwargs.setdefault('allow_redirects', True) ---> 76 返回请求('get', url, params=params, **kwargs) 77 78
ConnectionError: ('Connection aborted.', OSError(0, 'Error'))
我想说try/except
条件可能会解决问题。有人知道怎么解决吗?
def get_all_links(url):
soup = BeautifulSoup(requests.get(url).content, "html.parser")
return [a.attrs.get('href', '') for a in soup.find_all('a')]
df['List'] = df['Link'].apply(get_all_links)
我认为所有信息都是共享的。似乎导致问题的网站应该是“https://www.puppetstringnews.com/”。
要测试的网址示例:
https://www.***.com
https://deepclips.com/
https://www.puppetstringnews.com/
【问题讨论】:
【参考方案1】:您是否尝试在浏览器中打开该网站?它首先提示您出现证书错误,当您单击“接受风险并继续”时,它会给出 404 Not Found 错误。错误可能在该网站的服务器端,而不是在您的代码中。要验证这一点,您可以尝试另一个网页。但是有了这个,你永远不会得到预期的输出。要跳过此类错误网站,请将您的 get_all_links
函数体包装到 try
/ except Exception as e
中。此外,在except
子句中,您应该print("Error with url %s : %s" % (url, e))
。
【讨论】:
@Val 您必须将Return
语句移到之前 except
(在try
块内)
感谢程序员!
@Val 没问题!
@Val 您能否发布一些网址用于测试目的?
我更新了问题,包括三个网址(仅用于测试)。谢谢,程序员以上是关于ConnectionError:如何处理这个错误?的主要内容,如果未能解决你的问题,请参考以下文章
Codeigniter:当我插入数据时出现重复键错误,我该如何处理这个错误?
如何处理这个错误(1049,“未知数据库'/users/ohyunjun/work/astral/mysql'”)