を使用してフォームを送信した後、私はPythonの(2.7での作業)を使用しているよ:表示ウェブサイトのPython
- オープンサイト(特にhttp://nunuku.caltech.edu/cgi-bin/getcssconedb_release_img.cgi)。
- Pythonスクリプトがローカルマシン上で検出した文字列に基づいて、そのページにフォームデータを入力します。
- 結果のページをブラウザに表示します。
私は当初、(1)と(2)の部品でうまく動作するmechanizeを使用していました。しかし、機械化すると結果のページのHTMLが出力として得られます(下のコードのcontent
)。そのHTMLをローカルファイルに書き込んで、webbrowser.open()
を使用して開くことができますが、結果のページにはjavascriptが含まれているため、ものが正しく表示されません(表示されないものは、このページを見ている点全体最初の場所)。
パート(3)を行う方法はありますか?安価なやり方は、webbrowser.open()
を最終的なURL文字列(および私のローカルデータが挿入されている)と共に使用することです。ただし、「Submit」を押すとURLはまったく変更されません。
関連するコード、そのままで(ローカルマシンと開口部にまでそのようにHTMLを保存含まれます):
#!/usr/bin/env python
import webbrowser
import mechanize
url = 'http://nunuku.caltech.edu/cgi-bin/getcssconedb_release_img.cgi'
br = mechanize.Browser()
br.open(url)
br.select_form(nr = 0)
br['RA'] = ra
br['Dec'] = dec
br['Rad'] = '0.1'
br['IMG'] = ['nun'] # These are for the radio buttons.
br['DB'] = ['photcat']
br['OUT'] = ['csv']
br['SHORT'] = ['short']
response = br.submit()
content = response.read()
with open('results.html', 'w') as f:
f.write(content)
webbrowser.open('results.html')
(上記では、br[]
文はページ上のフォームラベルであり、 ra
とdec
の変数は、状況に応じてmyファイルから取得した値です(例:ra = 03:50:10.71
とdec = +32:32:29.60
)。私が見たいものを見るためには、
すべてのアドバイスをいただければ幸いです。ありがとう!
私は見てみましょう、ありがとう。 – erekalper
これは絶対に行く方法でした。ありがとう、トン! – erekalper