• CSDN21天学习挑战赛 - 第六篇打卡文章



    活动地址:CSDN21天学习挑战赛

    学习日记

    requests是一个http模块,该模块主要用于发送请求获取响应,该模块有很多的替代模块,比如说urlib模块,但是在工作中用的最多的还是requests一模块,requests的代码简洁易懂,相对于臃肿的urlib模块,使用requests编写的爬虫代码将会更少,而且实现某-功能将会简单。

    1. 安装requests,输入对应的pip命令: pip install requests
    2. 常用属性或方法
      在这里插入图片描述
    3. response.text和response.content的区别:
      response.text :
      ·类型:str
      ·解码类型: requests模块自动根据HTTP头部对响应的编码作出有根据的推测,推测的文本编码
      response.content :
      ·类型: bytes
      ·解码类型:没有指定,执行挑选
      通过对response.content进行decode,来解决中文乱码:
      response.content.decode(): 默认utf-8
      response.content.decode( 'GBK ')
      常见的编码字符集
      ·utf-8
      ·gbkgb2312
      ·asci(读音:阿斯克码)
      ·iso-8859-1
    4. 超时参数timeout的使用
      在平时网上冲浪的过程中,我们经常会遇到网络波动,这个时候,一个请求等了很久可能任然没有结果。在爬虫中,一个请求很久没有结果,就会让整个项目的效率变得非常低,这个时候我们就需要对请求进行强制要求,让他必须在特定的时间内返回结果,否则就报错。
      超时参数timeout的使用方法:response = requests.get(ur1, timeout=3)
      timeout=3表示:发送请求后,3秒钟内返回响应,否则就抛出异常
    5. proxies代理参数的使用
      为了让服务器以为不是同一个客户端在请求;为了防止频繁向一个域名发送请求被封ip,所以我们需要使用代理ip。
      注意:如果proxies字典中包含有多个键值对,发送请求时将按照ur地址的协议来选择使用相应的代理ip。

  • 相关阅读:
    【测控电路】ADDA转换电路
    鸿蒙系统(HarmonyOS)--第3章:鸿蒙Aility框架
    vivo 自研Jenkins资源调度系统设计与实践
    【算法leetcode】2315. 统计星号(rust和go重拳出击)
    CMake教程(一)
    【UE】事件分发器 正确使用方法 (如何创建 Bnd Evt Delegate Signature)
    下拉框判断是否重复选中值
    .Net Core 微服务之Consul(二)-集群搭建
    Golang 基础之基础语法梳理 (三)
    JS 中的正则
  • 原文地址:https://blog.csdn.net/weixin_44120025/article/details/126330195