python爬虫报错:(Caused by SSLError(SSLEOFError(8, ‘EOF occurred in violation of protocol (_ssl.c:1129)’)))解决

微信扫一扫,分享到朋友圈

python爬虫报错:(Caused by SSLError(SSLEOFError(8, ‘EOF occurred in violation of protocol (_ssl.c:1129)’)))解决
0

今天在写爬虫的时候遇到一个错误,即:

(Caused by SSLError(SSLEOFError(8, ‘EOF occurred in violation of protocol (_ssl.c:1129)’)))

搜索一番发现是因为电脑开了代理(科学上网工具)的原因

但是实际上代理是可以正常使用的。

但是需求访问的资源偏偏是要使用代理的才能访问的。

最后发现应该是urllib3的版本问题安装urllib3:1.25.11的版本可以解决。

原文地址:EOF occurred in violation of protocol (_ssl.c python3.7 使用代理报错

使用命令:

pip install urllib3==1.25.11

安装好后发现则不会报错了。

但是还有个问题,安装好urllib31.25.11后,依然出现了错误提示,提示图片如下:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

提示错误原因:

selenium 4.1.5 requires urllib3[secure,socks]~=1.26, but you have urllib3 1.25.11 which is incompatible.
elastic-transport 8.0.1 requires urllib3<2,>=1.26.2, but you have urllib3 1.25.11 which is incompatible.


# 大概意思就是 selenium 4.1.5 和 elastic-transport 8.0.1 分别对urllib3的版本要求是1.26、1.26.2

这样看来,如果我要再使用selenium、elastic-transport这两个东西的话,还得升级回去(emmm…捂脸,至于其他的方法,我没找到…如果有大佬知道期待告诉我)。

不过不使用上述两个东西的小伙伴忽略就好了。

再为了避免冲突的情况下,可以安装python虚拟环境,我们可以使用veny模块进行创建。

博主笔记:python虚拟环境使用

官方文档地址:https://docs.python.org/zh-cn/3/library/venv.html

介绍:

venv 模块支持使用自己的站点目录创建轻量级“虚拟环境”,可选择与系统站点目录隔离。每个虚拟环境都有自己的 Python 二进制文件(与用于创建此环境的二进制文件的版本相匹配),并且可以在其站点目录中拥有自己独立的已安装 Python 软件包集。

具体的创建,我们看官方文档就好啦,这样在虚拟环境中完成另外一个项目,就不会有包冲突的情况了。

venv --- 创建虚拟环境-python文档

微信扫一扫,分享到朋友圈

python爬虫报错:(Caused by SSLError(SSLEOFError(8, ‘EOF occurred in violation of protocol (_ssl.c:1129)’)))解决
0
上一篇

JavaScript解析:让搜索引擎看到更真实的网页

下一篇

让搜索跨越语言的鸿沟——谈跨语言信息检索技术

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
微信 微信
微信
返回顶部