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进行操作什么的