>  기사  >  백엔드 개발  >  javascript - 怎么使用CasperJs抓取网页?

javascript - 怎么使用CasperJs抓取网页?

WBOY
WBOY원래의
2016-06-06 20:28:15928검색

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

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

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

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

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

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

回复内容:

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

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

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

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

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

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.