爬虫——requests的使用

96 阅读1分钟

requests

作用:模拟浏览器发送请求,并接收响应数据

requests模块的下载:

在电脑命令中输入:pip install requests

requests模块的使用:

  • (1)导入包:

import requests

  • (2)、对URL即网络地址赋值给变量名,使用get或post方法进行请求,若想获取数据,使用text方法

      import requests
    
      url = "<https://www.baidu.com/s>"
    
      resp = requests.get(url)
    
      print(resp.text)
    
  • (3)、若URL中需要参数,则可以使用params,其中参数以键值对的形式存储在字典中。

      import requests
    
      url = "<https://www.baidu.com/s>"
    
      params = {
    
      “wd":"美女”
    
      }
    
      resp = requests.get(url,params = params)
    
      print(resp.text)
    
  • (4)、伪装成浏览器:使用headers参数,可模拟浏览器进行访问。

      import requests
    
      url = "<https://www.baidu.com/s>"
    
      params = {
    
      “wd":"美女”
    
      }
    
      headers = {
    
      "Upgrade-Insecure-Requests":"1",
    
      "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0"
    
      }
    
      resp = requests.get(url,params = params,hearders=headers)
    
      print(resp.text)
    

访问超时:timeout,单位秒

代理:

当我们请求的ip有风险时,可以使用代理,同样构造代理字典,传递给proxies参数。

配合timeou参数可以提取出访问速度快的代理。

重定向:

很多网站是http开头,为了不影响老客户,原网站不动,当访问http的原网址时,重定向到新的https网址,在requests中 allow_redirects默认是True,如果是False则不允许重定向,也就无法重定向新网址获取数据

安全证书忽略:设置参数verify=False

忽略警告:

import warnings warnings.filterwarnings('ignore')

解决乱码:

(1)、发生请求获得响应结果

(2)、在源代码中找到charset

(3)、设置 r. encoding = charset

(4)、在重新获取源码(.text)