我正在网上抓取某些特定的网站,因此我使用python 3请求包和beautifulsoup。在某些网站上处理测试时,出现此错误:
requests.exceptions.SSLError:HTTPSConnectionPool(host ='autoglassbodyrepair.lawshield.co.uk',port = 443): url超过最大重试次数:/(由SSLError(SSLError(“错误的握手: 错误([[('SSL例程','tls_process_server_certificate','证书验证失败')],),)))
import requests as rq
import bs4
current_url = 'autoglassbodyrepair.lawshield.co.uk'
try:
req = rq.get(current_url)
except rq.exceptions.RequestException as e:
print(e)
else:
soup = bs4.BeautifulSoup(r.content, "html.parser")
text = soup.findAll(text = True)
当我尝试浏览器时,它表明证书已过期,但是我可以将https禁止并变成红色,以处理该页面。 我想要的是,如果有一个不允许我访问该页面的异常,我将忽略它并进入下一页进行处理,但是如果没有异常,我将处理当前页面并忽略那些SSl证书。
预先感谢您的帮助!
答案 0 :(得分:0)
我知道了,它只需要忽略证书即可,如下代码所示,因为连接不安全,您会收到警告。
req = rq.get(current_url, verify = False)