2012-03-17 13 views
1

で特定のフォームに機械化の使用:http://archive.stsci.edu/kepler/data_search/search.php?form=fufPythonは、私がこのフォームを介してデータを取得するために、モジュールを機械のPythonを使用しようとしているJavaScriptの

私はとのトラブルを抱えているものは下に「出力列」の領域でありますleft、javascriptを使用して出力形式を指定します。私は、通常は周囲のjavascriptボタンで選択されるアイテムの特定のリストを選択できるようにしたいと思います。

私は機械化するのが新しく、年齢ではJavaScriptを見ていません。私は責任あるJavaScriptを見てきましたが、何をすべきか分かりません。任意のヒント?

具体的には:機械化を使用してリスト内の要素を変更する方法はありますか?

答えて

2

mechanizeによってフォームとやりとりするのではなく、そのフォームに直接POST呼び出しを行うことをおすすめします。ここで私はmechanizeでこれを行うだろうかです:

import mechanize 
from urllib import urlencode 
opener = mechanize.build_opener() 
data = {"resolver":"NED","radius":"0.02","equinox":"J2000","ktc_target_type[]":"LC","ktc_target_type[]":"SC","extra_column_name_1":"ktc_kepler_id","extra_column_value_1":"","extra_column_name_2":"ktc_kepler_id","extra_column_value_2":"","extra_column_name_3":"ktc_kepler_id","extra_column_value_3":"","extra_column_name_4":"ktc_kepler_id","extra_column_value_4":"","selectedColumnsCsv":"Mark,ktc_kepler_id,ktc_investigation_id,sci_data_set_name,ktc_target_type","selectedColumnsList[]":"ktc_target_type","availableColumns":"Mark","ordercolumn1":"ang_sep","ordercolumn2":"ktc_kepler_id","ordercolumn3":"","coordformat":"sex","outputformat":"HTML_Table","max_records":"1001","max_rpp":"100","action":"Search"} 
d = urlencode(data) 
url = 'http://archive.stsci.edu/kepler/data_search/search.php' 
stuff = opener.open(url,d) 
info_i_want = stuff.read() 

基本的には、サーバーへのPOST呼び出しを行う、辞書で検索の内容を入れて、あなたの応答を読んで。

+0

お返事ありがとうございます。私はPOSTを通してそれをやろうと考えていましたが、そのことについて何の知識も持っていなかったので、試しても嫌でした。あなたのコードは素晴らしいですが、。しかし、ファイルのアップロードはどうですか?どのように私はurlencodeを通してそれをするのですか? – StrangeQuirk

+0

また、私は機械化すると、隠されたselectedColumnsCsv要素の内容を編集して出力列を選択できることを理解しました。私はそれがjavascriptのpreprocess()関数によってきれいに拭かれると仮定していました。この場合、POSTを機械化するよりも利点はありますか? – StrangeQuirk

関連する問題