0

私は奇妙な問題を抱えています -

このサイトの時間データの表示方法がおかしいので、小さなパーサーを書きたいと思いました。

特定の 1 つの URL でコードをテストしていました -

http://www.sfweekly.com/search/results/?keyword=*&type=events#type:events/page:57/

URL にアクセスすると、ページは最初に一連のエントリをロードしてから、それらのエントリを変更することに注意してください。そこで起こっていることは、最初のページに移動してからリダイレクトするということです。どうすればそれを回避できますか?

私が使用しているこするために

jsdom.env({
    html: url,
    scripts:['http://code.jquery.com/jquery.js'],
    done: function(errors,window){
                 //doSomething

一時停止することで回避できると当初は思っていましたが、そうではありません。リダイレクトを「リッスン」して、実際のページが読み込まれるまで待つ方法はありますか? また、新しいエントリはjqueryの置換で入力される可能性があると感じていますが、その理論をテストする方法がわかりません.

4

1 に答える 1

0

このような ajax-y サイトをスクレイピングするのは、本当に大変なことです。この場合、それを回避する方法があるようです。なぜなら、選択したブラウザーの開発者ツールをスヌープして ajax エンドポイントを発見し、それを直接使用できるからです。

http://www.sfweekly.com/search/ajaxsearch/type%3aevents/page:57/

一部のシナリオでは、意図的にスクレイパーを無効にしようとする JavaScript-y サイトでは、ある種のヘッドレスまたは自動化されたブラウザーの状況を使用する必要があります。それは遅くて迷惑なので、できれば避けてください。

于 2013-03-23T06:18:59.967 に答える