我制作了一个CasperJS脚本来从多个链接中获取所有图像。当我运行它时,它会工作几分钟,然后它就会抛出这个错误。
我不知道如何解决这个问题。
我的CasperJS脚本:
casper.repeat(200, function() {
casper.thenOpen('http://google.fr/', function() { // Get a new page
res = this.evaluate(function(wsurl) {
return JSON.parse(__utils__.sendAJAX(wsurl, 'POST', null, false));
}, {wsurl: ajax_url});
});
casper.then(function(){
this.wait(1000);
})
casper.then(function(){
this.open(res.source); // Open it
});
casper.then(function(){
this.wait(1000);
});
casper.then(function(){
arr_img = this.getElementsAttribute('img', 'src');
});
casper.then(function(){
arr_img.forEach(function(value, key){ // Grab the images
var img = new Image();
img.src = value;
if(img.width >= 337){
temp = {};
temp['image'] = value;
temp['width'] = img.width;
temp['height'] = img.height;
arr.push(temp);
}
delete window.img;
});
});
casper.then(function(){
require('utils').dump(arr);
// Save the array
});
casper.then(function(){
this.clear();
});
});
我的错误:
QEventDispatcherUNIXPrivate(): Unable to create thread pipe: Too many open files
2014-09-20T15:37:27 [FATAL] QEventDispatcherUNIXPrivate(): Can not continue without a thread pipe
Abort trap: 6