爬山虎内核引擎
爬山虎是什么
爬山虎PHPCreeper
是一款基于Workerman的全新一代多进程异步驱动型爬虫引擎。
爬山虎的特点
0x01、拥有workerman全部特性
由于爬山虎是基于workerman开发的,所以天然继承了workerman的一切特性, 比如:多进程、异步驱动、常驻内存、高性能等等,具体特性见其官方手册: http://doc.workerman.net/getting-started/feature.html
0x02、有丰富人性化的开发手册
提供有人性化的中英文开发手册,趋近于白话文引导,所以通俗易懂。
0x03、支持自由定制各种插件
希望扩展额外的功能? 随你喜欢自由定制各种Plugin。
0x04、支持自由定制各种回调
希望改变程序的行为? 随你喜欢自由定制各种Callback。
0x05、支持自由定制下载器
对内置的资源下载器不满意? 随你喜欢自由定制第三方资源下载器。
0x06、支持自由定制消息中间件
对内置的消息中间件不满意? 随你喜欢自由定制第三方消息中间件。
0x07、支持自由定制分布式锁
对内置的分布式锁不满意? 随你喜欢自由定制第三方分布式锁。
0x08、支持网络限流
担心网络发生了拥挤堵塞? 引擎内置网络限流功能。
0x09、支持分布式部署
由于爬山虎基于socket模式实现,所以天然支持分布式部署。
0x10、支持分离式部署
爬山虎不仅支持分布式部署,同时也支持分离式部署,即基于worker的分离部署。
0x11、拥有彪悍性能
异步通信 + 多进程 + 分布/离式部署 + 事件驱动
架构理念,保证了爬山虎彪悍的性能。
0x12、拥有强扩展性
微内核引擎 + 插件 + 分布/离式部署
设计理念,保证了爬山虎强扩展性。
0x13、拥有人性化运行时控制面板
爬山虎以debug模式启动时,提供有人性化的运行时控制面板,直观展示了爬虫运行生命周期内的详细数据日志。 当然以dameon模式启动时,我们一样可以通过预先配置好的日志文件来查看详细的数据日志。
0x14、采用优雅的内容解析器
爬山虎采用PHPQuery作为内置的内容解析器,PHPQuery的语法和JQuery如出一撤,语法优雅简洁, 使用起来得心应手,最大化的帮助我们摆脱了编写枯燥正则表达式的烦恼。
0x15、支持socket编程
由于爬山虎继承了workerman的一切特性,所以完美支持socket编程, 比如我们因业务需要新开个端口提供某种额外服务,那么只需启动对应协议的监听端口的业务实例就可以了, 而且支持自定义应用层协议,这也是workerman最原生的玩法。
0x16、支持多国语言环境
爬山虎支持多国语言环境,目前暂支持中文和英文运行环境。
0x17、支持敏捷开发
通过使用官方提供的配套应用框架,最终落地到开发者身上只有四件事:
- 进行应用业务配置
- 设定业务抓取规则
- 编写应用业务回调
- 启动各个业务实例