2011-07-13 5 views
0

私はウェブスパイダーを作成しようとしています。私はいくつかのjavascriptを持っているウェブサイトを起動しました。イベントを発生させ、イベントを処理するために対応するjavascriptコードを呼び出さなければならないと考えるようにブラウザを騙したいと思います。私はPerlでどのようにこれを行うことができますか? WWW :: MechanizeまたはWWW :: Scripter :: Plugin :: Javascriptを使用していますか?ブラウザをトリックしてJavaScriptイベントを呼び出す?

また、誰かがWWW::Scripter::Plugin::Javascriptの使用方法の例を挙げることができます。

ありがとうございます。また、誰かがより良い言葉を語りたい場合は、先に進んで編集してください。

+1

として、このコードを使用?典型的なスパイダーは、Webサイトの内容をサーバー環境に読み込むサーバーです。 – jfriend00

+0

確かに非常に不思議な音。 – gangelo

+0

配布物の 't/je.t'にある 'form event attributes'という名前のテストを参照してください。それから学ぶ。 - スタックオーバーフローは、問題のある特定のコード例*を表示するときに最も効果的です。 – daxim

答えて

1

通常のブラウザ設定では、JavaScriptはサーバー上ではなくブラウザに表示されます。 JavaScriptを実行するクライアントです。

これは、JavaScriptコードが何を実行し、Perlでそれをコード化するのか、またはJavaScriptエンジンをロードする必要があるかを手動で把握する必要があることを意味します。ここで

三基のJavaScriptエンジンです:WWW::Mechanizeを使用して

+0

WWW :: Scripterを使用してJavscriptコードを呼び出す例がわかります。 :プラグイン:: Javascript – Shahab

+0

私たちの3つのディストリビューションは、Mech :: FF、IE :: Mech、WWW :: Scripter ...、Gtk2 :: WebKit :: Mech ...私たちの4つの...ディストロ... JavaScriptが有効になっています... JE、JS/libjsなどのモジュールです... [私は再び来ます](https://github.com/daxim/www-mechanize/commit/6d73a0ad269c6b3886e90237300beec6b7f730a4) – daxim

1

とライブHTTPヘッダー、私はライブのHttpリプレイをしました。リプレイから

、私は、その後のヘッダー(すなわちConnection: keep-alive to $agent->add_header("Connection" => "keep-alive");)をコピーしては、その後、私の$content = '..

に投稿内容をコピーし$agent->post($url_of_the_site, Content => $content);

これは、ASPXサイト上の2のようなリンクをクリックして働きました。

あなたはブラウザがあるクモをやっている場合は、私はガイドhttp://pastie.org/1728196/wrap

関連する問題