0

公開 Web サイトのスクリーン スクレイピングを行うための Python スクリプトを作成しています。AJAX で実装されたツリー コントロールを操作するまでは、これで問題ありません。明らかに、AJAX 要求を制御する大量の JavaScript があります。ツリー コントロールは JBoss RichFaces RichTree コンポーネントのようです。

このコンポーネントをプログラムで操作するにはどうすればよいですか?

  • 知っておくべきトリックはありますか?
  • RichFaces AJAX のサブセットを実装してみる必要がありますか?
  • それとも、既存の Web ブラウザにコードをラップした方がよいのでしょうか? もしそうなら、これを助けることができるpythonライブラリはありますか?
4

2 に答える 2

1

クライアントからサーバーへの AJAX 呼び出しを行い、データを解釈する必要があります。AJAX データを解釈することは、HTML を何らかの方法でスクレイピングするよりも簡単で、エラーが発生しにくくなります。

文書化されていない場合、AJAX API を理解するのは少し難しいかもしれませんが。そこでは、wireshark のようなネットワーク スニファ ツールが役立ちます。最近では、ブラウザで同じことを行うための便利なプラグインもあるかもしれません。私は何年もそれをする必要はありませんでした。:-)

于 2013-05-21T04:21:42.637 に答える
1

PhantomJSはおそらく、適切な API を使用してヘッドレス環境で JavaScript を実行できる最も興味深いプロジェクトです。Python をネイティブにサポートしなくなりましたが、Python と対話するためのオプションがあります。詳細については、こちらのディスカッションをご覧ください。

バニラ webkit (Qt と PyQT でラップ) もあります。ここで例を確認してください。

それが役立つことを願っています:)

于 2013-05-22T09:26:26.767 に答える