使用PhantomJS / CasperJS时降低CPU使用率的方法

时间:2013-09-01 13:05:52

标签: phantomjs cpu-usage casperjs

使用PhantomJS和CasperJS进行屏幕抓取和填充。我面临的问题是它占用了太多的CPU使用量,这让我觉得它可能不具备可扩展性。有没有办法减少相同的CPU使用率。其中一些我能想到的是:

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

另外,我想知道python是否比用于刮擦目的的幻像更轻(就CPU使用而言)。

2 个答案:

答案 0 :(得分:0)

五年半之后,我认为您不再遇到这个问题,但是如果其他任何人偶然发现了这个问题,这就是解决方案。

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

答案 1 :(得分:-1)

为什么只有CasperJS / PhantomJS?您是否正在抓取使用JavaScript加载内容的网站?任何没有运行完整webkit浏览器的工具都会比那些工具更轻量级。

如评论中所述,您可以在Linux系统上使用wgetcurl将网页转储到文件/标准输出。有许多库可以处理&为NodeJS解析原始HTML,例如cheerio

还想要某种形式的脚本吗?因为你提到了python,所以有一个名为Mechanize的工具可以在不运行webkit的情况下完成。它没有Casper / Phantom那么强大,但是它允许你用更小的空间做很多相同的事情(填写表格,点击链接等)。