-3

私はCasperJSを試しています。Webスクレイパーを作成しようとしています。サイトのすべてのページをスクレイピングし、5 秒以内 (各ページ) にデータを取得する必要があります。このために、同様のすべてのページをクロールする必要があります。適切なコンテンツ div に移動し、そこからデータを取得します。したがって、サイトに1000ページがあるとします。操作全体をできるだけ早く完了する必要があります。N/w レイテンシ、ページ サイズなどのパラメータを制御できません。私が制御できるのは解析メカニズムだけです。だから、できるだけ速くしたい。少しでも改善された場合は、URL の数として推定されます。

子要素を解析し、CSS パスを作成しようとしています。解析に時間がかからないようにする必要があります。標準の Java スクリプトは、JQuery よりもパフォーマンスの点で効率的であると聞いています。したがって、入力が必要です。

次の JQuery コードに相当する標準の JS は何でしょうか。これは、解析に関して効率的なパフォーマンスを発揮します。

function() {    
    var TAG_CSS_PATH = 'div#buttons ul li.tab';
    var selectOptions =  $(TAG_CSS_PATH);
    var results = [],i=0;
    selectOptions.each(function(index,value) {
        index=index+1;
        results.push(TAG_CSS_PATH+':nth-of-type('+index+')');
    });
    return results
}

誰かが他の提案を提供できる場合は、感謝します。

4

2 に答える 2

2

これはそれを行う必要があります:

function() {    
    var TAG_CSS_PATH = 'div#buttons ul li.tab',
        selectOptions = document.querySelectorAll(TAG_CSS_PATH),
        results = [],
        l = selectOptions.length + 1;
    for(var i = 1; i < l; i++){
        results.push(TAG_CSS_PATH+':nth-of-type('+i+')');
    }
    return results;
}
于 2013-01-03T09:50:57.880 に答える