2012-01-20 10 views
3

リモートWebページをスクラブしていくつかのデータを取得するための基本的なPythonコードを書きました。私が掻き取ろうとしている別のページでは、データは表示されず、<select>ボックスの値を変更した後にのみ表示されます。Pythonを使用したリモートWebサイトでのJavascriptイベントのトリガー

リモートWebサイトのjavascriptを使って除細動して掘り下げた後、AJAX(Prototypeのカスタム実装)を使用して、<table><tbody>を切り抜くことを確認しました。

Python(またはPython経由のJavascript)を使用して、その選択ボックスのonChangeイベントをトリガする方法はありますか?そのため、DOMを「リフレッシュ」して新しいHTMLを取得できますか?

+5

なぜAJAXリクエストを直接行い、それから必要なデータを解析するのはなぜですか? – kindall

+0

PySideのWebKitバインディングを見てください。あなたはそれを正確に行うことができます。 (私は似たようなプロジェクトに取り組んでいます) – synthesizerpatel

+1

@kindall私はもともとajaxリクエストurl(chromeに組み込まれているinspect要素ツールを使っていました)を見つけることができませんでした。友人はfirefoxをfirefoxで使うことを提案していました(私は普通に使っていますが、試してみると愚かに思っていませんでした)、要求URLがコンソールにポップアップされていました。あなたが答えを投稿したいなら、私はあなたのことを受け入れるでしょう。 –

答えて

2

AJAXリクエストURLを取り出し、直接リクエストしてください。 :-)

+0

完全に同意しましたが... ? 私は必要な機能を実現するためにPythonから呼び出さなければならないURLを知っていますが、Pythonから呼び出す方法はわかりません。私はurllib2.urlopenを試しましたが、それは仕事をしません...(URLは:http://mypc/automation/ajaxinterface.php?do = toggleStatus&status = 1&deviceid = 1) – Pitto

関連する問題