2

クリック時に ajax 呼び出しから情報を受け取った後、HTML ソースをダウンロードできる webscraper を構築しようとしています。簡単に言えば、最初にWebページをダウンロードし、次のボタンをクリックすると、ajax呼び出しを使用してページに新しい画像セットがロードされ、次をクリックした後にhtmlソースをキャプチャする必要があります。

次のクリック元はこんな感じ

<a href="javascript:void(0);" onclick="return nextpage('xyz.html','2');" class="nextimage">Next Page</a>

同じページには、ajax 呼び出しを処理する JavaScript 関数 nextpage があります。

phantomjs を使用してこれを行う方法はありますか? 私はphantomjsを初めて使用するので、不明な点があればお知らせください。現在、元の Web ページからのみコンテンツを読み込むことができます。

var page = require('webpage').create();
page.open('somewebpage', function (status) {
    if (status !== 'success') {
        console.log('Unable to access network');
    } else {
        var p = page.evaluate(function () {
            return document.getElementsByTagName('html')[0].innerHTML
        });
        console.log(p);
    }
    phantom.exit();
});

ありがとう

4

1 に答える 1

0

試す:

var content = page.evaluate( function() { return
(new XMLSerializer()).serializeToString( document ); } );

于 2013-03-20T00:38:04.827 に答える