怎么使用CasperJs抓取网页?

在知乎上看到有个php爬虫的思路是这样写的:

  • pcntl_fork或者swoole_process实现多进程并发。按照每个网页抓取耗时500ms,开200个进程,可以实现每秒400个页面的抓取。

  • curl实现页面抓取,设置cookie可以实现模拟登录 simple_html_dom 实现页面的解析和DOM处理

  • 如果想要模拟浏览器,可以使用casperJS。用swoole扩展封装一个服务接口给PHP层调用

  • 在多玩网这里有一套爬虫系统就是基于上述技术方案实现的,每天会抓取几千万个页面。

第1、2点可以弄,当然我不用swoole。第3点中的casperJS不太懂,怎样用啊?

阅读 6.2k
2 个回答

你可以看它的文档。这里有例子http://docs.casperjs.org/en/latest/quickstart.html

简单讲casperjs是基于phantomjs的script, 模拟浏览器的意思是它不需要浏览器来渲染页面,但是也可以来navigate, 对DOM进行操作什么的

这套路子太麻烦了,php 有写好的爬虫框架能直接渲染 https://packagist.org/package...
效率可能比上面的套路慢,在网速够的情况下,一秒爬100+网页没问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题