Heim >Backend-Entwicklung >PHP-Tutorial >javascript - 怎么使用CasperJs抓取网页?

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

WBOY
WBOYOriginal
2016-06-06 20:28:15996Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn