测试之道--网络爬虫系列5(cookie处理)
来源:互联网 发布:英语句子分析软件 编辑:程序博客网 时间:2024/06/04 19:35
- 什么是cookie
在爬虫的使用中,如果涉及到登录等操作经常会用到cookie,简单地说,我们访问的每一个互联网页面,都是通过http协议运行的,而http协议是一个无状态的协议:无法保存、维持会话之间的状态,如使用http成功登录一个网站,但是当我们访问该网站其他网页的时候,该登录状态会消失,此时还需要重新再登录一次,只要涉及到页面的更新都需要重新登录,这很不方便,所以我们就需要保存登录信息:cookie、session - cookie和session的区别与联系
如果是cookie保存会话信息,会把所有的会话信息保存在客户端,当我们访问同一个网站的其他网页时,我们会从cookie中取出相应的会话信息;
如果是使用session保存回话信息时,会将相应的会话信息保存在服务端,服务端会给客户端发送sessionid等信息(登陆时),这些信息一般也是存在客户端的cookie信息中(如果客户端禁止cookie也可能是其他方式存储,少部分),然后用户访问该网站的其他网页的时候,会从cookie中读取这一部分信息(SessionID等),然后再根据sessionid找到服务器中对应的完整的session信息,再进行会话控制。
综述:无论以哪种方式进行会话控制,cookie都是基础 - Cookiejar实战
python3中用Cookiejar这个库来处理Cookie,在Python2中用Cookielib
实例分析:我们想登陆ChinaUnix,点击登录框,上面的url为:http://bbs.chinaunix.net/member.php?mod=logging&action=login&logsubmit=yes
但是者却不是真实的登录地址,输入账号密码点击登录(或者f12):
http://bbs.chinaunix.net/member.php?mod=logging&action=login&loginsubmit=yes&loginhash=LkoD4
这个才是我们需要的处理POST表单的网址,接下来我们需要构建表单信息:
所以我们构建的表单数据为:
{
“username”:”yangbp”,
“passwd”:”xunlei”
}
有了这些信息就可以进行登录的处理了,代码:
会发现第二个网页可以保留登录状态
阅读全文
0 0
- 测试之道--网络爬虫系列5(cookie处理)
- 测试之道--网络爬虫系列1
- 测试之道--网络爬虫系列2(爬虫技术及原理)
- 测试之道--网络爬虫系列3(urllib库介绍)
- 测试之道--网络爬虫系列4(http协议请求实战)
- 【爬虫-反爬虫】系列一:反爬虫之cookie(3)
- 用Python写网络爬虫系列(三)表单处理
- 网络爬虫系列之三:简单爬虫初步
- Linux企业级项目实践之网络爬虫(5)——处理配置文件
- Linux企业级项目实践之网络爬虫(28)——爬虫socket处理
- 网络爬虫-使用Cookie登陆
- 网络爬虫与cookie简介
- 【爬虫-反爬虫】系列一:反爬虫之验证码(5)
- node 爬虫处理cookie,代理
- 网络爬虫系列笔记(4)——Scrapy爬虫
- 数学之美系列(六) 之 图论和网络爬虫 (Web Crawlers)
- python网络爬虫系列教程——python中urllib、urllib2、cookie模块应用全解
- python 爬虫入门(5) url异常处理 ; cookie使用 ;cookielib
- 第三次试验
- 【c语言】i++和++i的区别
- C2小心得
- Android保存从网络获取的图片
- 【C++11】C++类型完全退化(拓展std::decay的功能)
- 测试之道--网络爬虫系列5(cookie处理)
- 第二篇:mina作为tcp服务器如何管理客户端
- 训练日记-40
- 11.19周日
- window.onload与$(document).ready()的对比
- PAT Basic 1012
- OpenCV安装(ubuntu,win10+vs2013)问题
- switch语句default与break
- 条件覆盖,路径覆盖,语句覆盖,分支覆盖解释