切换主题
四、cookie、ip代理、retrying、timeout
1、session(自动处理cookie)
python
session=requests.session() #实例化session对象
response=session.post(url,data=data)
#使用session访问登录以后的页面
session.get(url.text)
1
2
3
4
5
2
3
4
5
2、ip代理
1、代理ip
代理ip是一个ip,是一个代理服务器,代理服务器能够帮我们向目标服务器转发请求。
正向代理:给客户端做代理,让服务器不知道客户端的真实身份,保护自己的ip地址不会被封,要封也是封代理ip
反向代理:给服务器做代理,让浏览器不知道服务器的真实地址
正向代理保护客户端,反向代理保护服务端
ip代理分为三种:
- 透明代理:服务器知道我们使用了代理ip,也知道我们真实ip
- 匿名代理:服务器能够检测到使用了代理ip,但不知道真实ip
- 高匿代理:服务器既不能检测到使用代理ip,也不知道真实ip
2、代理ip的使用
python
proxies={
#第一种写法:
"http":"1.1.1.1:9527"
#第二种写法
# "http":"http://12.34.56.79:9527"
}
response=requests.get(url,headers=headers,proxies=proxies)
print(res.content.decode())
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
代理ip无效的话,会自动使用运行代码的本机ip
3、retrying模块
python
from retrying import retry
# retry 装饰器,表明希望在请求失败时进行重试,但尝试次数不超过3次
@retry(stop_max_attempt_number=3)
def test():
url="https://www.baidu.com/"
response=requests.get(url)
try:
test()
except:
print("完成了")py
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
4、timeout
python
url="https://www.baidu.com/"
response=requests.get(url,timeout=2) #2秒内不响应,就报错
print(response.content.decode())
1
2
3
2
3