爬山虎是什么
爬山虎【PHPCreeper】是一款基于workerman的多进程异步驱动型开源爬虫引擎,支持无头浏览器。
爬山虎是免费开源的佛系PHP爬虫项目,欢迎您的小星星Star支持,让更多的人发现、使用并受益。
爬山虎的特点
01、几乎拥有workerman全部特性
由于爬山虎是基于workerman开发的,所以天然继承了workerman几乎所有的特性, 比如:多进程、常驻内存、高性能等等,具体特性详见 workerman官方手册。
02、支持多国语言环境
爬山虎支持多国语言环境,目前暂支持中文和英文运行环境。
03、支持无头浏览器
支持无头浏览器即支持运行JavaScript代码及其渲染页。
04、支持自由定制插件
支持自由定制Plugin。
05、支持自由定制下载器
支持自由定制第三方资源下载器。
06、支持网络限流
担心网络发生了拥挤堵塞? 爬山虎内置网络限流功能。
07、支持分布式部署
爬山虎基于socket模型实现,所以天然支持分布式部署。
08、支持分离式部署
爬山虎不仅支持分布式部署,同时也支持分离式部署,即基于worker的分离部署。
09、支持socket编程
爬山虎继承了workerman的一切特性,所以完美支持socket编程, 比如我们因业务需要新开个端口提供某种服务, 那么只需启动对应协议的监听端口的业务实例就可以了,这也是workerman最原生的玩法。
10、拥有强劲性能
采用异步IO + 多进程 + 分布/离式部署 + 事件驱动
架构理念,保证了爬山虎的强劲性能。
11、拥有强扩展性
采用微内核引擎 + 插件 + 分布/离式部署
设计理念,保证了爬山虎的强扩展性。
12、拥有人性化运行时控制面板
爬山虎以debug模式启动时,提供有人性化的运行时控制面板,直观展示了爬虫运行生命周期内的详细数据日志。 当然以dameon模式启动时,一样可以通过预先配置好的日志文件来查看详细的数据日志。
13、采用优雅的内容解析器
爬山虎采用PHPQuery作为内置的内容解析器,PHPQuery的语法和JQuery如出一撤,语法优雅简洁, 最大化的帮助我们摆脱了编写枯燥正则表达式的烦恼。
14、支持敏捷开发
通过使用官方提供的配套应用框架,最终落地到开发者身上只有四件事:
- 进行应用业务配置
- 设定业务抓取规则
- 编写应用业务回调
- 启动各个业务实例