代码之家  ›  专栏  ›  技术社区  ›  Fluffy

如何使用机械化cookie获取HTTP页面?

  •  3
  • Fluffy  · 技术社区  · 15 年前

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

    1. 告诉机械化不要重置页面(可能,通过 UserAgentBase )?
    2. 制作 urllib2 使用机械化的饼干罐?NB: urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar) 不工作
    3. 把饼干传给 urllib ?
    3 回复  |  直到 15 年前
        1
  •  5
  •   Fluffy    15 年前

    正确答案是:

    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar))
    opener.open(imgurl)
    
        2
  •  2
  •   Nick Craig-Wood    15 年前

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

    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
    
        3
  •  2
  •   Lennart Regebro    15 年前

    一些疯狂的想法:

    • 在填写表格前先取下第二页?
    • 还是先获取新页面,然后goback()?尽管这可能会重置这些值。