设为首页 加入收藏

TOP

Python爬虫7-Cookie & Session
2019-03-15 12:08:00 】 浏览:21
Tags:Python 爬虫 7-Cookie Session
GitHub代码练习地址:1.手动利用cookie访问网页:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac10_cookie1.py
           2.自动利用cookie访问人人主页:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac11_cookie2.py

cookie & session

由于http协议的无记忆性,人们为了弥补这个缺憾,所采用的一个补充协议
cookie是发放给用户(即http浏览器)的一段信息,session是保存在服务器上的对应的另一半信息,用来记录用户信息

cookie与session的存放位置不同
   session的存放位置
  存在服务器端
  一般情况,session是放在内存中或者数据库
  没有cookie登录的情况:没使用cookie则反馈网页为未登录状态
   cookie不安全
session会保存在服务器上一定时间,会过期
单个cookie保存数据不超过4k, 很多浏览器限制一个站点最多保存20个
  
使用cookie登录
1.手动:
直接把cookie复制下来,然后手动放入请求头,代码见上1。

  2.自动:
http模块包含一些关于cookie的模块,通过他们我们可以自动使用cookie
①.Cook

ieJar

管理存储cookie,向传出的http请求添加cookie,
cookie存储在内存中,CookieJar实例回收后cookie将消失
②.FileCookieJar(filename, delayload=None, policy=None):
使用文件管理cookie
filename是保存cookie的文件
③.MozillaCookieJar(filename, delayload=None, policy=None):
创建与mocilla浏览器cookie.txt兼容的FileCookieJar实例
④.LwpCookieJar(filename, delayload=None, policy=None):
创建与libwww-perl标准兼容的Set-Cookie3格式的FileCookieJar实例
他们的关系是: CookieJar-->FileCookieJar-->MozillaCookieJar & LwpCookieJar

利用cookiejar访问人人,代码见上2。

自动使用cookie登录,大致流程是
①.打开登录页面后自动通过用户名密码登录
②.自动提取反馈回来的cookie
③.利用提取的cookie登录隐私页面
handler是Handler的实例,常用参看案例代码
用来处理复杂请求

生成 cookie的管理器
cookie_handler = request.HTTPCookieProcessor(cookie)
创建http请求管理器
http_handler = request.HTTPHandler()
生成https管理器
https_handler = request.HTTPSHandler()

创立handler后,使用opener打开,打开后相应的业务由相应的hanlder处理
cookie作为一个变量,打印出来,
cookie的属性
- name: 名称
- value: 值
- domain:可以访问此cookie的域名
- path: 可以访问此cookie的页面路径
- expires:过期时间
- size: 大小
- Http字段

编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python基础——字符串操作 下一篇Python学习之一

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }