一直学习爬虫,一直未实战,近期难得工作上比较轻松,开始通过一些案例深入学习爬虫知识。今天尝试读取某个网站API,https协议,使用requests.get('https://xxx', headers=headers)访问是,抛出如下错误信息:
requests.exceptions.SSLError: HTTPSConnectionPool(host='https://xxx', port=443)
根据错误信息百度一下,主要解决方案如下:
1、先检查是否已安装requests的依赖安装包:
pip install cryptography
pip install pyOpenSSL
pip install certifi
2、如果已经安装依赖安装包,还会报错,则在请求后面加上verify=False
response = requests.get('https://xxx', headers=headers, verify=False)
尝试上述两个步骤,但是异常依旧,继续搜索。最终又找到一个方案,
pip install -U requests[security]
注意后面的方括号,pip会安装三个security相关的package:pyopenssl cryptography idna。试了一下,果然有效,不再报错。
至于什么原因,还请知道的大咖能指点下,谢谢!
网友评论