requests模块介绍
1.作用:发送http请求,获取响应数据
2.安装:pip install requests
3.发送get请求
导入
调用get方法,对目标URL发送请求
- 案列
import requests url = 'http://www.baidu.com' response = requests.get(url) print(response.text)
通过对response.content进行decode,来解决中文乱码
- response.context.decode()默认utf-8
- response.content.decode('GBK')
- 常见的编码字符集
- utf-8
- gbk
- gb2312
- ascii
- iso-8859-1
response常见响应对象参数和方法
响应url: response.url 状态码: response.status_code 响应对应的请求头: response.request.headers 响应头: response.headers 答应响应设置cookie: response.cookies
发送带请求头的请求
requests.get(url, headers={})
发送带参数的请求
- url中直接带参数
- 使用params参数
- 构建参数字典
- 发送请求的时候设置参数字典
在headers中携带cookies
1.把登录中的cookies放在headers里面2.也可以构建cookie字典放在外边
构建字典两种方法: 1.字典推导式 2.字符串切割
cookiejar对象处理
# 将字典转换为jar对象 requests.utils.dict_from_cookiejar # 将jar对象转换为字典 requests.utils.cookiejar_from_dict
timeout 使用
timeout用来检测网络环境,默认180秒reponse = requests.get(url,timeoout=3)
代理
1.代理ip是一个IP,指向的是一个代理服务器
2.代理服务器能够帮我们向目标服务器发送请求正向代理:为浏览器或客户端转发请求的。浏览器知道最终处理请求的服务器的真实ip地址,例如VPN 反向代理:不为浏览器或客户端转发请求,而是为最终处理请求的服务器转发请求的。浏览器不知道服务器的真实地址,例如nginx
代理IP的分类
根据匿名度分为:透明代理、匿名代理、高密代理 协议:http、https、socks使用: requests.get(url,proxies = proxies) 代理使用成功不会有任何问题,成功返回响应 代理使用失败,要么卡滞,要么报错
verify参数和CA证书
爬取时默认开启verify=False