Python爬虫过程中如何保持一致的cookie

Python爬虫时与服务器的三次交互:1、提取验证码,2、登录,3、目标网页的爬虫

1、在看别人程序时,有的在登录和目标网页爬虫过程中使用cookiejar保存cookie,但这样如何保证获取的验证码与登录所需的相匹配
2、需要保证这三次的过程cookie相同么?以及如何保证?
纠结好久了,万分感谢~

这个都是对对应的页面做了分析的,从而找到了cookie对应网站的信息,这样才会能够通过验证。
cookie一般是服务器页面返回写入的。

如果你使用python的urllib2模块的话,你可以构造一个opener对象,并增加一个cookie处理器,在请求过程中一直使用opener去访问每个页面的话,cookie会由你构造的cookie管理器自动管理并保持

import cookielib
import urllib2
cj = cookielib.LWPCookieJar()
cj_handler = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cj_handler)
print cj

如果你使用第三方模块 requests,那么可以构造一个session对象,访问不同页面的使用使用同一个session对象就行,这个自带cookie管理器

 import requests
 session = requests.Session()
 session.get('http://ww.baidu.com')
 print session.cookies

网站一般都是用cookie来做身份验证,所以保持cookie的一致性是必须的
只要你使用的是同一个对象去访问不同的页面,就像在浏览器中打开同一个网站的不同页面一样,
cookie都是公用的,自然就保持了cookie的一致性,如果你的程序是需要定期执行的,并且cookie不会失效,
你还可以将cookie保存到本地,这样就不用每次都登陆了.