使用node.js / webshot截屏多个网站-性能问题/无响应

仅使用几个URL即可很好地工作,但是我尝试爬网的次数越多,每个URL花费的时间就越长。该文件包含约145个URL。如果我尝试对所有这些爬网,该程序将停止响应约135个屏幕截图站点。我认为这与Node的异步特性有关,但是我不知道如何解决。

这就是我得到的:


const fs = require('fs');
const webshot = require('webshot');
let jsonData = fs.readFileSync('./data.json');
let jsonDataParsed = JSON.parse(jsonData);
let number = 1;


let options = {
    quality: 25,}

jsonDataParsed.forEach((element) => {
    let url = element.link;
    let title = element.veranstalter;
    let randomNumber =  (Math.round(Math.random() * 1000000)).toString();
    let picName = './webshotpics/'+ title + '-'+ randomNumber+'.jpg'; 



   webshot(url,picName,options,function(err) {
        console.log('Tried Webshot ' + number);   
        console.log(picName);
        console.log(number);
        console.log(url);

        number++;

        if (err) {
            console.log('Error at number ' + number );
            console.log('Error name: ' + picName );
            console.log('Error link: ' + url );


        }


    });


});

S13171830970 回答:使用node.js / webshot截屏多个网站-性能问题/无响应

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3157009.html

大家都在问