WordPress课程广告

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

释放双眼,带上耳机,听听看~!

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

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

问题原因

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

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

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

解决办法

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

使用命令:

pip install urllib3==1.25.11

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

可能遇见的错误提示

PS:如果你没安装selenium或者是其他依赖更高版本的urllib3模块是不会有这个提示的。

我安装好后还有个问题,安装好urllib3 1.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…捂脸,至于其他的方法,我没找到…如果有大佬知道期待告诉我)。

不过不使用上述两个东西(selenium、elastic-transport)的小伙伴忽略就好了。

虚拟环境使用

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

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

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

venv 模块介绍:

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

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

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

给TA打赏
共{{data.count}}人
人已打赏
Python列表Python笔记

Python获取两个列表的交集

2022-6-23 19:22:42

Python字典Python笔记

Python 字典判断键是否存在

2022-7-6 23:39:51

WordPress网站建设宣传图片
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
展开目录