0

私は、crawler4j を使用して、Tripadvisor のクローラーを作成しています。アイテムのすべてのレビューを収集する必要がありますが、「次の」レビュー (番号付きのもの) へのリンクは、リンクではなく JavaScript 関数に関連付けられています。この関数は、トリップアドバイザーのサーバーのどこかに定義されています。これらの関数を評価して、返されるページを取得する方法はありますか?

4

2 に答える 2

0

評価を試しましたか?または、発信者のコンテキストを変更する必要がある場合は呼び出します

evalは文字列を入力として受け取り、それを実行しようとします。

于 2012-06-27T10:51:48.707 に答える
0

HTMLUnit を使用してページ コンテンツを取得できます。このライブラリを使用して、すべての JavaScript コードを実行し、操作するページ コードを取得できます。

これは、 stackoverflow に関する質問から取られたコード例です。

    HtmlElement element4 = null;
Iterable<HtmlElement> iterable5 = page.getAllHtmlChildElements();
Iterator<HtmlElement> i6 = iterable5.iterator();
while(i6.hasNext() {
    HtmlElement anElement = i6.next();
        if(anElement instanceof HtmlImage) {
        HtmlImage input = (HtmlImage) anElement;
        String[] elements = "http://example.com/pages/powerbutton.png".split( "/" );

        if(input.getSrcAttribute().indexOf(elements[elements.length-1] )> -1 ){
            element4 = input;
            break;
        }
    }
} 
HtmlPage page = element4.click();
于 2013-02-07T13:09:24.140 に答える