我在使用Node.js和Puppeteer编写了一个爬虫算法,可以同时爬取5页网站。当程序完成一张页面的爬取后,它会从队列中获取下一个URL并在同一个页面中打开。然而,CPU 总是保持在 100%。有什么方法可以让Puppeteer使用更少的CPU资源呢?
这个程序运行在DigitalOcean的一台机器上,该机器拥有4GB RAM 和2个vCPU。
我已经尝试使用一些参数来启动 Puppeteer 实例,以使其更轻量级,但是没有任何效果。
puppeteer.launch({
args: ['--no-sandbox', "--disable-accelerated-2d-canvas","--disable-gpu"],
headless: true,
});
有没有其他参数可以使用,使其对CPU占用更少?
我还阻止了图像加载。
await page.setRequestInterception(true);
page.on('request', request => {
if (request.resourceType().toUpperCase() === 'IMAGE')
request.abort();
else
request.continue();
});