1.使用之前
- pip install requests
2.发送get,post请求,获取响应
- response = requests.get(url) #发送get请求,请求url地址对应的响应
- response = requests.post(url,data={请求体的字典}) #发送post请求,请求url地址对应的响应
3.response的方法
- response.text
- 该方式往往会出现乱码,出现乱码使用response.encoding="utf-8"
- response.content.decode()
- 把响应的二进制字节流转化为str类型
- response.request.url #发送请求的url地址
- response.url #response响应的url地址
- response.request.headers #请求头
- response.header #响应请求
4.获取网页源码的正确打开方式(通过下面三种方式,一定能够获取到网页正确解码之后的字符串)
- response.content.decode()
- response.content.decode("gbk")
- response.text
5.发送带header的请求
- 为 了模仿浏览器,获取和浏览器一模一样的内容
- python
- headers = {"User-Agent":"....."} 第一个添加User-Agent,第二个添加Referer,还不行可以把除了cookie的带上,最后还不行,考虑把cookie带上
- response = requests.get(url,headers=headers)
4.使用超时参数
- requests.get(url,headers=headers,timeout=3) # timeout=3 三秒之内必须返回响应,否则会报错
5.retrying模块的学习
- pip install retrying
- python
- from retrying import retry
- @retry(stop_max_attempt_number=3)
- def fun1():
- print("this is func1")
- raise ValueError("this is test error")
6.处理cookie相关的请求
- 人人网{"email":"mr_mao_hacker@163.com","passowrd":"alarmchime"}
- 直接携带cookie请求url地址
- 1.cookie放在headers中
- python
- headers={"User-Agent":"...","Cookie":"把cookie复制过来"}
- python
- 2.cookie字典传给cookie参数
- requests.get(url,cookies=cookie_dict)
- 1.cookie放在headers中
- 先发送post请求,获取cookie,带上cookie请求登录后的页面
- 1.session = requests.session() #session具有的方法和requests一样
- 2.session.post(url,data,headers) #服务器设置在本地的cookie会保存在session
- 3.session.get(url) #会带上之前保存在session中得到cookie,能够请求成功
注意:勾选上Preserve log,找寻form表单的提交地址