使用Phantomjs / Pjscrape刮擦多个页面

时间:2012-11-27 10:43:24

标签: javascript screen-scraping web-scraping phantomjs

尝试抓取多个页面,但无法让urlid数组在pjscrape .js文件中运行。

我很确定我可能会犯一个新手的错误,但我会感激一些帮助。 谢谢:))

pjs.config({

    timeoutInterval: 6000,
    timeoutLimit: 10000,

})

pjs.addSuite({
    // single URL or array
    url: abolaURLs,
    scraper: function(){
        var abolaURLs = [366762,366764,366763];
        for (var i = 0; i<abolaURLs.length; i++) {
            abolaURLs[i] = 'http://abola.pt/nnh/ver.aspx?id=' + abolaURLs[i];
        };
        var results[];
        var cenas1 = $('div#a5g2').text();
        var cenas2 = $('span#noticiatext').text();
        var cenas3 = $('div#a5x').text();
        results.push(cenas1, cenas2, cenas3);
        return results;
    }
});

1 个答案:

答案 0 :(得分:2)

这对你有用:

var abolaURLs = [366762,366764,366763];

for (var i = 0; i < abolaURLs.length; i++) {
    abolaURLs[i] = 'http://abola.pt/nnh/ver.aspx?id=' + abolaURLs[i];
};

pjs.addSuite({
    url: abolaURLs,
    scraper: function() {
            var results = []; // !! you have the wrong array declaration result[]
            var cenas1 = $('div#a5g2').text();
            var cenas2 = $('span#noticiatext').text();
            var cenas3 = $('div#a5x').text();
            results.push(cenas1, cenas2, cenas3);
            return results;
    }
});

pjs.config({
    timeoutInterval: 6000,
    timeoutLimit: 10000,
});