requests作用:
## 发送网络请求, 返回响应数据
requests模块发送简单的get请求、获取响应:
response的常用属性:
response.text 响应体 str类型
respones.content 响应体 bytes类型
response.status_code 响应状态码
response.request.headers 响应对应的请求头
response.headers 响应头
response.request._cookies 响应对应请求的cookie
response.cookies 响应的cookie(经过了set-cookie动作)
response.text 和response.content的区别:
a. response.text
类型:str
解码类型: requests模块自动根据HTTP 头部对响应的编码作出有根据的推测,推测的文本编码
如何修改编码方式:response.encoding=”gbk”
b. response.content
类型:bytes
解码类型: 没有指定
如何修改编码方式:response.content.deocde(“utf8”)
获取网页源码的通用方式:
response.content.decode()
response.content.decode(“GBK”)
response.text
发送带header的请求
## herder 形式:字典
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
## 用法:
requests.get(url, headers=headers)
发送带参数的请求:
## 请求参数形式:字典(kw = {'wd':'长城'})
例如:https://www.baidu.com/s?wd=python&a=c
## 请求参数用法:
requests.get(url,params=kw)
两种发送带参数的请求方式:
a. 对https://www.baidu.com/s?wd=python发起请求可以使用requests.get(url, params=kw)的方式
b. 也可以直接对https://www.baidu.com/s?wd=python完整的url直接发送请求,不使用params参数