postメソッドとPythonを使用してファイルをダウンロードします

StackOverflow https://stackoverflow.com/questions/869679

  •  22-08-2019
  •  | 
  •  

質問

私は、ウェブサイトからダウンロードしたtarファイルを取得して少しの助けを必要としています。あなたが場所を選択するためにあなたがしたいファイルを選択し、[送信]をクリックし、フォームし、ダウンロードウィンドウが開きますよう、ウェブサイトが設定されます。

私は(私は、各ファイルを選ぶ取扱説明書を持っていない)コードで同じことをやろうとしています。これまでのところ私は、応答を返すためのpython 2.5.2を得たが、そのsocket._fileobjectで、私は今、自分のコンピュータ上のファイルにそれを変換するかどうかはわかりませんています。

以下のpythonシェルと、私が行った手順の出力である

Python 2.5.2 on win32

IDLE 1.2.2      
>>> import urllib
>>> import urllib2
>>> url = 'http://website/getdata.php'
>>> values = {'data[]': 'filex.tar'}
>>> data = urllib.urlencode(values)
>>> req = urllib2.Request(url,data)
>>> response = urllib2.urlopen(req)
>>> response
addinfourl at 22250280 whose fp = <socket._fileobject object at 0x01534570
>>> response.fp
socket._fileobject object at 0x01534570
役に立ちましたか?

解決

これを追加します:

myfile = open('myfile.tar', 'wb')
shutil.copyfileobj(response.fp, myfile)
myfile.close()

response.fpはあなただけで開いているファイルのように、から読み取ることができるファイルのようなオブジェクトです。 shutil.copyfileobj()は、一つのファイルのようなオブジェクトから読み込み、別のものに、その内容を書き込み、単純な関数である。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top