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:当我插入数据时出现重复键错误,我该如何处理这个错误?

从 watchkit 请求数据时如何处理这个错误

如何处理这个错误(1049,“未知数据库'/users/ohyunjun/work/astral/mysql'”)

Spring test integration not run 我如何处理这个错误?

Codeigniter:如何处理数据库错误?

Python 请求 - 异常类型:ConnectionError - 尝试:除了不起作用