52

phantomjs には設定 loadImage があり、

もっと欲しいけど、

ある種のリソースのダウンロードをスキップするようにphantomjsを制御するにはどうすればよいですか?

cssなど...

=====

朗報: この機能が追加されました。

https://code.google.com/p/phantomjs/issues/detail?id=230

要旨:

page.onResourceRequested = function(requestData, request) {
    if ((/http:\/\/.+?\.css/gi).test(requestData['url']) || requestData['Content-Type'] == 'text/css') {
        console.log('The url of the request is matching. Aborting: ' + requestData['url']);
        request.abort();
    }
};
4

4 に答える 4

7

最後に、これを試すことができますhttp://github.com/eugenehp/node-crawler

それ以外の場合は、PhantomJS で以下のアプローチを試すことができます

簡単な方法は、ページの読み込み -> ページの解析 -> 不要なリソースの除外 -> PhatomJS への読み込みです。

もう 1 つの方法は、単にファイアウォールでホストをブロックすることです。

オプションで、プロキシを使用して、特定の URL アドレスとそれらへのクエリをブロックできます。

さらに、ページをロードしてから不要なリソースを削除しますが、ここでは正しいアプローチではないと思います。

于 2012-06-17T20:30:08.347 に答える
3

今のところ(phantomjs 1.7)、それはサポートされていません。

しかし、厄介な解決策は http プロキシを使用しているため、不要なリクエストを除外することができます。

于 2012-10-25T02:06:11.460 に答える