在使用PhantomJS/CasperJS时减少CPU使用的方法



Am使用PhantomJS和CasperJS进行屏幕抓取等操作。我面临的问题是它占用了太多的CPU,这让我觉得它可能没有那么可扩展。有没有任何方法可以减少CPU的使用。我能想到的有:

1) 禁用图像加载
2) 禁用js加载

此外,我想知道python在抓取方面是否比phantom更轻(就CPU使用而言)。

为什么只有CasperJS/PantomJS?你在抓取那些用JavaScript加载内容的网站吗?任何不运行完整webkit浏览器的工具都将比运行完整webkit浏览器的工具更轻。

如注释中所述,您可以在linux系统上使用wgetcurl将网页转储到文件/stdout。有许多库可以处理&解析NodeJS的原始HTML,如cheerio。

还想要某种形式的脚本吗?因为您提到了python,所以有一个名为机械化的工具可以在不运行webkit的情况下做到这一点。它的功能不如Casper/Phantom,但它允许你用更小的占地面积做很多相同的事情(填写表格、点击链接等)。

5年半后,我认为您不再有这个问题了,但如果其他人遇到这个问题,这里有解决方案。

完成抓取后,键入browser.quit()退出浏览器,browser是您设置的变量的名称。

最新更新