使用Python授权下载到特定位置

时间:2012-05-22 08:49:33

标签: python authentication download mechanize

我正在尝试从具有身份验证的网站下载文件。我想出了如何下载文件,但它将保存在%PROFILE \ appdata \ local \ temp \目录中,名称为tmpxhq6u1.mobi。如何使用其他文件名将其保存到其他位置?

from mechanize import Browser

USER_AGENT = "Mozilla/5.0 (X11; U; Linux i686; tr-TR; rv:1.8.1.9) Gecko/20071102 Pardus/2007 Firefox/2.0.0.9"

br = Browser()
br.addheaders = [("User-agent", USER_AGENT)]

br.open("https://login.nrc.nl/login?service=http://digitaleeditie.nrc.nl/digitaleeditie/")

br.select_form(nr=0)
br['username'] = "XXXXXXX"
br['password'] = "xxxxxxx"
# br['rememberMe'] = ["1"]

response = br.submit()
print response.read()
f = br.retrieve('http://digitaleeditie.nrc.nl/digitaleeditie/helekrant/mobipocket/nn_20120521.mobi')[0]
print f

1 个答案:

答案 0 :(得分:1)

retrieve方法采用文件名:

(filename, headers) = br.retrieve(url, filename)

只有在未指定文件名的情况下才会在临时目录中为您生成一个文件名。

机械化retrieve方法与(urllib.urlretrieve)[http://docs.python.org/library/urllib.html#urllib.urlretrieve]基本相同,所以你可以看到如何通过阅读urllib文档来使用retrieve

享受你的报纸!