2011-01-26 21 views
1

皆さん! JavaScriptからコンテンツを生成するウェブサイトからデータを取得する必要があります。 何らかの形で、ClientFormモジュールのヘルプを使用すると、必要なフォーム値を検索リストに渡すことで、サイト上で権限を与え、必要なデータを取得できます。 しかし、私は結果の数ページを得る。そのページをループして保存する必要があります。 が、ポイントは、「次へ」ページのボタンが私のpythonでこのリンクを移動することができますどのようにpython goto linkがjavacriptによって生成されました

a onclick="if(typeof jsfcljs == 'function') { 
       jsfcljs(document.getElementById('nestedView:j_id_id8pc10'),   
        {'nestedView:j_id_id8pc10:next':'nestedView:j_id_id8pc10:next'}, 
        ''); 
      } 
      return false" 
href="#" id="nestedView:j_id_id8pc10:next">next 

のように見えたということでしょうか?

+1

'{}'を使用してコードをフォーマットし、 –

+0

'jsfcljs'のソースにアクセスでき、サイトが(インラインJSアップデートとは対照的に)実ページでページを作るならば、それは可能かもしれません。 JSで動作する場合、あなたは運が悪いです。 – TryPyPy

答えて

1

あなたのオプションは、基本的に以下のとおりです。

  1. にはJavaScriptが何をしているかワークアウト、およびサーバはあなたに同じデータを送信するように、Pythonでそれをコピーしてみてください。あなたがまだそれを使用していないなら、Firebugはあなたが必要とするもののようなものです。
  2. Selenium RCなどのブラウザコントロールフレームワークを使用して、Pythonを使用してブラウザとやり取りします。

一般的に、オプション1は、ブラウザを制御するためのフレームワークの使用に慣れていないか、javascriptが本当に恐ろしく難しい場合を除き、より簡単です。

ああ、3:Pythonでjavascript + DOMエンジンを作成します。

0

多分、私はPOSTリクエストをシミュレートすることができます(例えばfirefoxのライブHTTPヘッダーからキャプチャすることができます)。そのような方法でサイトをナビゲートしますか?いいえ、それは冗談です。主なポイントはデータを取得することです...それを取得するための手順は似ています(ログイン、2つの検索フォーム、結果ページをループ)

関連する問題