发送POST请求 使用代理 处理cookies session
2017-10-30 16:25
337 查看
哪些地方我们会用到POST请求:
登录注册( POST 比 GET 更安全)
需要传输大文本内容的时候( POST 请求对数据长度没有要求)
所以同样的,我们的爬虫也需要在这两个地方回去模拟浏览器发送post请求
用法:
response = requests.post("http://www.baidu.com/", data = data,headers=headers)
data 的形式:字典
问题:为什么爬虫需要使用代理?
让服务器以为不是同一个客户端在请求
防止我们的真实地址被泄露,防止被追究
用法:requests.get("http://www.baidu.com", proxies = proxies)
proxies的形式:字典
proxies = {
"http": "http://12.34.56.79:9527",
"https": "https://12.34.56.79:9527",
}
cookie和session区别:
cookie数据存放在客户的浏览器上,session数据放在服务器上。
cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗。
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
爬虫处理cookie和session
带上cookie、session的好处:
能够请求到登录之后的页面
带上cookie、session的弊端:
一套cookie和session往往和一个用户对应
请求太快,请求次数太多,容易被服务器识别为爬虫
不需要cookie的时候尽量不去使用cookie
但是为了获取登录之后的页面,我们必须发送带有cookies的请求
cookie和session区别:
cookie数据存放在客户的浏览器上,session数据放在服务器上。
cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗。
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie
处理cookies 、session请求
requests 提供了一个叫做session类,来实现客户端和服务端的会话保持
使用方法:
1.实例化一个session对象
2.让session发送get或者post请求
session = requests.session()
response = session.get(url,headers)
Requests小技巧
1、reqeusts.util.dict_from_cookiejar 把cookie对象转化为字典
1.1. requests.get(url,cookies={})
2、请求 SSL证书验证
response = requests.get("https://www.12306.cn/mormhweb/ ", verify=False)
3、设置超时
response = requests.get(url,timeout=10)
4、配合状态码判断是否请求成功
assert response.status_code == 200
登录注册( POST 比 GET 更安全)
需要传输大文本内容的时候( POST 请求对数据长度没有要求)
所以同样的,我们的爬虫也需要在这两个地方回去模拟浏览器发送post请求
用法:
response = requests.post("http://www.baidu.com/", data = data,headers=headers)
data 的形式:字典
问题:为什么爬虫需要使用代理?
让服务器以为不是同一个客户端在请求
防止我们的真实地址被泄露,防止被追究
用法:requests.get("http://www.baidu.com", proxies = proxies)
proxies的形式:字典
proxies = {
"http": "http://12.34.56.79:9527",
"https": "https://12.34.56.79:9527",
}
cookie和session区别:
cookie数据存放在客户的浏览器上,session数据放在服务器上。
cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗。
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
爬虫处理cookie和session
带上cookie、session的好处:
能够请求到登录之后的页面
带上cookie、session的弊端:
一套cookie和session往往和一个用户对应
请求太快,请求次数太多,容易被服务器识别为爬虫
不需要cookie的时候尽量不去使用cookie
但是为了获取登录之后的页面,我们必须发送带有cookies的请求
cookie和session区别:
cookie数据存放在客户的浏览器上,session数据放在服务器上。
cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗。
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie
处理cookies 、session请求
requests 提供了一个叫做session类,来实现客户端和服务端的会话保持
使用方法:
1.实例化一个session对象
2.让session发送get或者post请求
session = requests.session()
response = session.get(url,headers)
Requests小技巧
1、reqeusts.util.dict_from_cookiejar 把cookie对象转化为字典
1.1. requests.get(url,cookies={})
2、请求 SSL证书验证
response = requests.get("https://www.12306.cn/mormhweb/ ", verify=False)
3、设置超时
response = requests.get(url,timeout=10)
4、配合状态码判断是否请求成功
assert response.status_code == 200
相关文章推荐
- 使用fetch发送post请求时的参数处理
- 使用python 处理发送POST请求
- 详解使用fetch发送post请求时的参数处理
- Ajax详解及其案例分析之如何获得Ajax对象,使用Ajax对象发送GET和POST请求,校验用户名,POST和GET请求时的乱码处理,实现级联的下拉列表
- PHP 使用curl库来发送GET,POST请求,处理json格式数据
- Http学习之使用HttpURLConnection发送post请求深入
- java中使用scoket模拟http post请求发送图片或文件
- 使用HttpWebRequest发送自定义POST请求(转帖)
- 使用HttpWebRequest发送自定义POST请求
- 使用Java发送GET、POST请求
- 客户端delphi使用XML与中间层C#.net通信的例子,客户端用idhttp的post发送请求
- 使用java程序发送post请求给servlet
- java中使用scoket模拟http post请求发送图片或文件
- 使用Java发送GET、POST请求
- 使用Java发送GET、POST请求
- 使用urlconnection和json发送post请求到服务器
- 使用HttpURLConnection开发自动发送Get、Post请求并获取响应
- 使用Java发送POST、GET请求
- Http学习之使用HttpURLConnection发送post请求深入
- 使用WebClient发送POST请求