如何使用mechanize cookies获取http页面?

时间:2009-10-03 14:08:10

标签: python mechanize

有一个Python机械化对象,其表单几乎都设置了所有值,但尚未提交。现在我想使用来自mechanize实例的cookie来获取另一个页面,但是没有重置页面,表单等,例如所以值保持设置(我只需要获取另一个页面的正文字符串,没有别的)。有没有办法:

  1. 告诉机械师不要重置页面(可能是通过UserAgentBase)?
  2. urllib2使用mechanize的cookie罐?注意:urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar)不起作用
  3. 将Cookie传递给urllib的其他任何方式?

3 个答案:

答案 0 :(得分:5)

正确答案:

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar))
opener.open(imgurl)

答案 1 :(得分:2)

不知道这是否有效,但为什么不尝试深入复制机械化实例,例如

from copy import deepcopy
br = Browser()
br.open("http://www.example.com/")
# Make a copy for doing other stuff with
br2 = deepcopy(br)
# Do stuff with br2
# Now do stuff with br

答案 2 :(得分:2)

一些疯狂的想法:

  • 在填写表单之前获取第二页?
  • 或者获取新页面然后goBack()?虽然可能会重置这些值。