1

認証を使用して Web サイトからファイルをダウンロードしようとしています。ファイルをダウンロードする方法はわかりましたが、tmpxhq6u1.mobi のような名前で %PROFILE\appdata\local\temp\ ディレクトリに保存されます。別のファイル名で別の場所に保存するにはどうすればよいですか?

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メソッドは基本的に ( urllib.urlretrieve)[http://docs.python.org/library/urllib.html#urllib.urlretrieve] と同じなのでretrieve、urllib のドキュメントを読めば使い方がわかります。

新聞を楽しみましょう!

于 2012-05-22T08:57:20.200 に答える