xlsxファイルをダウンロードしてコンピュータに保存するスクリプトを作成しようとしています。このファイルには特定のパスはなく、GET
フォームを入力した後に生成されます。送信ボタンは2つあります。Python - GETフォームを使用してファイルをダウンロードする
最初のものは結果のリストを(私はそれを行うことができます)の形式で作成します。 2番目のファイルはxlsxファイルを作成し、保存先を尋ねます。
<form action="/search" method="get" id="frm-detailedSearchForm">
...
<input type="text" name="publication_date[from]" class="date" tabindex="1" id="frm-detailedSearchForm-publication_date-from" data-nette-rules='[{"op":":filled","rules":[{"op":":pattern","msg":"Nevalidní formát data (dd.mm.rrrr)","arg":"\\d{1,2}\\.\\d{1,2}.\\d{4}"}],"control":"publication_date[from]"}]'>
...
<input type="submit" name="search" class="w-button btn ajax" tabindex="27" value="Search">
<input type="submit" name="export" class="w-button btn" tabindex="28" value="Export">
<input type="hidden" name="do" value="detailedSearchForm-submit"></form>
EDIT: ソリューション(LIBを機械使用して)最終的には簡単だった:
url = url + ?do=detailedSearchForm-submit&export=Export
browser.retrieve(url, file.xlsx)
ありがとうございます。
これまでに開発したPythonコードを常に表示する必要があります。ここから始めてみてくださいhttp://stackoverflow.com/a/1171409/640916 –
私は多くのタイプのコードを試していますので、どちらが最善のものかを言うのは難しいです。 ブラウザ= mechanize.Browser(工場= mechanize.RobustFactory()) browser.set_handle_robots(偽) browser.open(URL) browser.select_form(NR = 1) browser.form [ "PUBLICATION_DATE []から"] =" 01.09.2016 " browser.form [" publication_date [to] "] =" 01.09.2016 " これは私がbrowser.submit()を使用しているときに動作します。 browser.submit(nr = 1)を使用するようにtryiedしても、何も起こらない。 –