2016-07-04 15 views
-2

私はPythonでURLから.csvファイルを取得しようとしています。ブラウザでURLを使用すると、.csvファイルがダウンロードされますが、このスクリプトを使用しているときは、htmlコードしか取得できません。URLからPythonで.csvファイルを取得

__file_url__ = "http://myurl.com/?export" 
data = urllib2.urlopen(__file_url__) 
     for line in data: 
      print(line) 

すべてのヘルプのためのThanx!

+1

これはサーバー側の問題です。あなたのサーバーは何かによって応答を変えますが、私たちは何を知りません。それはクッキーかもしれません、それは 'User-Agent'ヘッダーかもしれません、それは月のフェーズかもしれません。これは、Python固有の問題ではありません。 –

+0

ああ、そうだよ、それは動的なファイルネーミング機能を説明するだろう。したがって、私はこのファイルをPythonで受け取ることはできません。 –

+1

おそらく可能ですが、サーバーが変化するヘッダーの魔法の組み合わせを把握する必要があります。私はあなたのブラウザが送信するヘッダーで遊び始め、Pythonリクエストに追加されたものが何かを見ているのを見ています。 –

答えて

0

私は超愚かです。これをダウンロードするには、ログインする必要があります。そして、もちろん、Pythonからのリクエストをするときに私はログインしていませんでした。そのため、リクエストlibのセッションを使用して、最初にログイン・フォーミュラを投稿し、再度ファイルを要求し、wiola - 私のファイルが必要でした。

from requests import session 
s = session() 
s.post('http://myurl.com/login', data = { 'username': 'myusername', 'password': 'mypassword' }) 
download = s.get('http://myurl.com/?export') 
関連する問題