1

我正在尝试从具有身份验证的网站下载文件。我想出了如何下载该文件,但它会保存在 %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
4

1 回答 1

1

retrieve方法采用文件名:

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

仅当您不指定文件名时,它才会在临时目录中为您生成一个。

mechanizeretrieve方法与 ( )[http://docs.python.org/library/urllib.html#urllib.urlretrieve] 基本相同,因此您可以通过阅读 urllib 文档urllib.urlretrieve了解如何使用。retrieve

享受你的报纸!

于 2012-05-22T08:57:20.200 回答