2017-06-20 5 views
0

Web解析レポートプラットフォームには、基本的に見ているレポートのダウンロード/書き出しを開始するURLがあります。ダウンロードされたファイル自体はCSVであり、ダウンロードをトリガーするリンクは、添付されたいくつかのパラメータを使用してレポートのフィールドのようなものを定義します。私が探しているのは、リンクがダウンロードをトリガーするCSVをダウンロードすることです。Pythonでダウンロードを開始するURLからファイルを取得する

私はPython 3.6を使用しています。私が配備するサーバーは、SeleniumやPhantomJSのようなウェブキットをサポートしていないと言われました。誰もこれを成功裏に達成しましたか?

+0

ファイルのURLを保存してから直接要求できないのはなぜですか? –

+0

Seleniumでelement.click()を実行すると、クライアントマシンがダウンロード対象になります。そのため、ファイルはダウンロードフォルダに保存されます。サーバーはSeleniumをインストールする必要はありません(クライアントマシンでもない場合)。 –

答えて

0

ファイルがCSVファイルの場合は、リクエストモジュールを使用して、そのようなコンテンツを直接ダウンロードすることを検討してください。

import requests 
session=requests.Session() 
information=session.get(#the link of the page here) 

あなたはCSVモジュールを使用して望むように、あなたは、この(csvモジュールをインポートする必要がある)のようなものの情報を解読し、内容を読み取ることができます:あなたはforループを使用することができます

decoded_information=information.content.decode('utf-8') 
data=decoded_information.splitlines() 
data=csv.DictReader(data) 

for row in data: 
itemdate=row['Date'] 
... 

それとも、トンのようなものを使用してファイルに書き込むことにより、復号された内容を保存することができます:あなたがそうのような辞書のキーとして列見出しを使用して望むようにデータの各行にアクセスするには彼:

decoded_information=information.content.decode('utf-8') 
file=open("filename.csv", "w") 
file.write(decoded_information) 
file.close 

CSVモジュールのドキュメントとのリンクのカップルがちょうどあなたが前にそれを使用していない場合には、ここで提供されます。

https://docs.python.org/2/library/csv.html http://www.pythonforbeginners.com/systems-programming/using-the-csv-module-in-python/

は、この情報がお役に立てば幸い!

関連する問題