爬虫入门时出现的错误

img

Windows 是要升级openssl1.1.1吗?怎么升级啊
用Python入门爬虫时刚开始就出现了问题,有人可以解答一下吗,谢谢!

ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.1.0h 27 Mar 2018'. See: https://github.com/urllib3/urllib3/issues/2168

urllib3版本太高,降版本,或者升级openssl版本

升级OpenSSL模块版本试试,目前是1.1.0h,升级到1.1.1以上试试,

要不试试先卸载再安装:

 pip uninstall requests

 pip install requests

可以在解释器中指定urllib3

img

pip install --upgrade openssl
pip install urllib3==1.26.4
pip install requests[security]

提供远程技术支持

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    首先,我们需要确保我们已经下载了正确版本的OpenSSL并安装到我们的计算机上。其次,我们需要确保Python的ssl模块被重新编译以支持我们安装的OpenSSL版本。在Windows系统中,我们可以通过以下步骤来完成这些步骤:

    1. 浏览到OpenSSL官方网站(https://www.openssl.org/)并从“下载”页面下载适用于您的Windows系统的OpenSSL安装程序。

    2. 运行下载的安装程序,并将OpenSSL安装到您的计算机上。为了简单起见,请记住安装的路径。

    3. 下载您正在使用的Python版本的源代码,并将其保存在一个方便的位置。

    4. 打开一个命令提示符(cmd)窗口并导航到Python源代码所在的目录。

    5. 运行以下命令来安装必要的构建工具:

      python -m pip install --upgrade pip setuptools wheel

    6. 确保您有Microsoft Visual C++ Build Tools安装程序。通过运行以下命令来检查是否已经安装:

      cl

    如果您已经安装了,它将显示一些帮助文本。如果未安装,则会提示您是否安装。

    1. 运行以下命令来安装PyOpenSSL:

      python -m pip install pyopenssl

    要确保使用了我们刚刚安装的OpenSSL版本,请在运行上述命令时包括以下选项:

       --global-option=build_ext
       --global-option="-L<C:\path\to\openssl>\lib"
       --global-option="-I<C:\path\to\openssl>\include"
    
    其中,<C:\path\to\openssl>应该替换为您刚刚安装的OpenSSL的路径。
    
    1. 在Python交互式命令提示符(或任何其他Python应用程序)中运行以下代码以确保Python正在使用我们安装的OpenSSL版本:

      import ssl print(ssl.OPENSSL_VERSION)

    2. 完成!您应该现在能够成功使用urllib3和其他基于ssl的Python库。

    请注意,这些步骤可能需要一些技术知识和经验,如果您遇到问题,请不要犹豫,寻求IT专业人员的帮助。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

Python爬虫简单入门教程
可以借鉴下

先卸载urllib3,之后重新安装另一个版本的:

pip install urllib3==1.23 -i https://pypi.tuna.tsinghua.edu.cn/simple

如果还不行的话,那么,尝试升级下openssl

这个问题是因为urllib3 v2.0需要OpenSSL 1.1.1+,而当前使用的'ssl'模块是编译于OpenSSL 1.1.0h版本,版本不兼容导致的问题。
解决方法有两种:降低urllib3版本或者升级openssl版本。可以尝试使用Homebrew安装OpenSSL 1.1.1或更高版本。

openssl版本低了,升级一下