我刚刚为 pjscrape 编写了我的第一个脚本,但我发现它运行得非常慢。我对 pjscrape 和 phantomjs 都是新手,所以我不知道哪一个是罪魁祸首。
我是从 localhost 加载文件,所以瓶颈肯定不在传输中。
我的config.js脚本如下所示:
pjs.addSuite({
url: 'http://localhost/file.html'.
scraper: function() {
var people = $('table.person');
var results = [];
$.each(people, function() {
var $this = $(this);
results.push({
firstName: $this.find('.firstName').text(),
lastName: $this.find('.lastName').text(),
age: $this.find('.age').text()
});
}
return results;
}
}
然后我在这里使用命令行指令执行 PhantomJS 。
~> phantomjs pjscrape.js config.js
我在 Chrome 中运行相同的代码(只是刮板函数()),它是即时的。在 phantomjs/pjscrape 中,它需要 30 秒。
任何线索是什么导致缓慢?
有没有更好的方法来做这个 DOM 屏幕抓取?也许是一个nodejs解决方案?