【问题标题】:Python 3 FancyURLopener cookie handlingPython 3 FancyURLopener cookie 处理
【发布时间】:2013-01-10 08:43:06
【问题描述】:

我试图从中检索文件的网站需要 cookie,但我似乎不知道如何在使用 FancyURLopener 时添加 cookie 处理。

这是我的一段代码:

user_agents = [
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11',
    'Opera/9.25 (Windows NT 5.1; U; en)',
]
site_file = "somesite.com/pic.jpeg"
class MyOpener(FancyURLopener, object):
    version = choice(user_agents)
myopener = MyOpener()
myopener.retrieve(site_file, "pic.jpeg")

我也尝试过使用类似的方法,但不确定如何使用此方法实际检索文件。

cj = http.cookiejar.CookieJar()
request = urllib.request.Request(site)
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
request.add_header('User-agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0')

谢谢

【问题讨论】:

    标签: python cookies python-3.x urllib


    【解决方案1】:

    您可以使用以下方法检索文件:

    import shutil
    from contextlib import closing
    
    with closing(opener.open(request)) as src, open(filename, "wb") as dest:
        shutil.copyfileobj(src, dest)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-25
      • 2020-05-07
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 2016-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多