• 【Python爬虫】安装requests库解决报错问题


    废话不多说了,直接进入正题

    确保pip的安装

    首先要想安装requests库,第一点就是要确保pip已经安装。这个pip在Python高级版本中已经默认安装了。
    然后无论是 Windows 、Linux 还是 Mac,都可以通过 pip 这个包管理工具来安装。

    命令行下安装

    接下来 在命令行下运行如下命令即可完成 requests 库的安装:

    首先来查看一下自己的pip版本号,排除版本过低导致错误
    在命令行输入 pip --version

    C:\Users\Lenovo>pip --version
    pip 23.2.1 from D:\python\Lib\site-packages\pip (python 3.12)
    
    • 1
    • 2

    如果版本太低,就更新pip
    在命令行输入 python -m pip install --upgrade pip

    python -m pip install --upgrade pip
    
    • 1

    如下图所示:
    请添加图片描述
    然后再命令行输入:pip install requests
    就可以正常安装requests库了

    出现的问题以及解决办法

    但是如果你出现了如下图所示的问题,也不要慌张,因为我在安装时也出现了这种问题,首先来解释一下出现原因的原因吧。
    执行pip install requests此语句后,它会默认的用国外的镜像来进行下载,所以速度就会过慢,速度一慢,也就造成·了超时,从而报错。

    请添加图片描述

    ERROR: Could not install packages due to an OSError: HTTPSConnectionPool(host=‘files.pythonhosted.or,…
    请添加图片描述

    解决办法多数都是先换个镜像,在进行下载。
    你也可以链接自己手机的热点数据来进行下载。(同时也可以)

    换镜像源安装

    下面是几个镜像源的地址:(收藏好哟)

    清华: https://pypi.tuna.tsinghua.edu.cn/simple

    阿里云: http://mirrors.aliyun.com/pypi/simple/

    中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

    华中理工大学: http://pypi.hustunique.com/

    山东理工大学: http://pypi.sdutlinux.org/

    豆瓣: http://pypi.douban.com/simple/

    这里我推荐使用豆瓣镜像源进行下载,因为会比较快
    在命令行输入:
    pip install requests -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    请添加图片描述
    也就是说直接输入这句话就可以成功安装啦!
    看到最后出现successful的字样吗,说明已经成功安装啦!

    验证安装

    为了验证库是否已经安装成功,可以在命令行下测试一下:
    首先进入到 Python环境下
    输入

    import requests
    ret = requests.get('http://www.baidu.com')
    print(ret) 
    
    • 1
    • 2
    • 3

    如果什么错误提示也没有,那么就证明我们已经成功安装了 requests。

    为什么使用requests库呢

    首先简单介绍一下requests。
    requests是基于Python开发的HTTP 库,与urllib标准库相比,它不仅使用方便,而且能节约大量的工作。实际上,requests是在urllib的基础上进行了高度的封装,它不仅继承了urllib的所有特性,而且还支持一些其它的特性,比如使用Cookie保持会话、自动确定响应内容的编码等,可以轻而易举地完成浏览器的任何操作。

    requests库中提供了如下常用的3类:

    requests.Request:意思是表示请求对象,用于准备一个请求发送到服务器。

    requests.Response:意思是表示响应对象,其中包含服务器对HTTP请求的响应。

    requests.Session:意思是表示请求会话,提供Cookie持久性、连接池和配置。

    其中,Request类的对象表示一个请求,它的生命周期针对一个客户端请求,一旦请求发送完毕,该请求包含的内容就会被释放掉。

    而Session类的对象可以跨越多个页面,它的生命周期同样针对的是一个客户端。当关闭这个客户端的浏览器时,只要是在预先设置的会话周期内(一般是20~30分钟),这个会话包含的内容会一直存在,不会被马上释放掉。
    好了,更多详细知识就不在此展开了,如果文章对您有帮助,请大大支持呀!下篇见。😘

  • 相关阅读:
    react事件机制
    有重复元素的快速排序
    MySQL事务管理
    面试Java高级工程师之Redis总结
    基于改进细化法的线激光中心提取方法
    springboot maven项目环境搭建idea
    运维困局下确保系统稳定的可行性
    爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
    nginx配置参数解释
    Java switch case 条件语句用法大全
  • 原文地址:https://blog.csdn.net/2202_75623950/article/details/133934144