Rumah  >  Artikel  >  pembangunan bahagian belakang  >  javascript - 怎么使用CasperJs抓取网页?

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

WBOY
WBOYasal
2016-06-06 20:28:15974semak imbas

在知乎上看到有个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进行操作什么的

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn