1

学校で教授の Web ページを解析して、教授が宿題の問題を変更したときに自動更新を取得しようとしています。これまでに行う必要のなかった何かに遭遇しました: ajax / jquery による応答の遅延。

したがって、perl では、LWP::Simple と get 関数を使用してページの html を取得しています。問題は、彼女が jquery を使用してページを動的に更新していることです。「get」を使用すると、ajax / jquery の読み込みが完了する前にページを取得できます。

ページをリクエストする方法はありますが、最終的な出力を取得できますか? 固定遅延 (たとえば、10 秒) を使用する必要がある場合でも、それで問題ありません。これを学校のアカウントから 1 日 1 回実行して、課題が更新されたことを電子メールで通知できるようにしたいだけです。学校は VPN の背後にあり、毎日チェックインするのは面倒です。簡単なスクリプトで解決できると思いました :)。

4

1 に答える 1

2

を推奨する人もいWWW::Mechanize::Firefoxますが、ヘッドレス サーバーからスクリプトを実行している場合、これはオプションではない可能性があります。もう 1 つのオプションは、彼女の JavaScript/jQuery コードを読んで、それが何をしているかを確認することです。Perl コードは、AJAX コードが実行しているのと同じリソースに対して直接 HTTP 要求を行う可能性があります。jQuery AJAX リクエストがページを変更する方法を理解することで、Perl を十分に更新してそれを反映できる場合があります。

LWP::Simpleのmirrorメソッドは、プライマリ リクエストでない場合、AJAX リクエストに役立つ場合があります。「条件付き GET」を実行します。これは、何かが変更された場合にのみ本体をダウンロードすることを意味します。これにより、処理が少し高速化されます。

于 2013-08-25T23:44:34.150 に答える