为什么要开发爬山虎 ?

0x01、希望给广大PHP码友提供一种更多的选择

目前在圈内已经存在各种语言版本的优秀爬虫框架,比如:基于python的scrapy、基于Java的Spiderman、 基于Go语言的go-colly等等,但是在Workerman或Swoole的加持下,PHP在此领域同样大有可用武之地。 从某种意义上来说,爬山虎只是爬虫框架的PHP语言版的一种补充,所以作者希望爬山虎能为广大PHP码友提供一种额外的选择。 爬山虎的初心是: 着力于高效敏捷开发,让爬取工作变得更加简单。

0x02、解决传统PHP爬虫框架的性能和扩展问题

传统的PHP爬虫框架普遍有两大不足:
一个是大多为单进程工作模型;另一个是大多为单机或同步工作模式,换句话即看不到 socket 的身影,因此无法做到分布式及分离式部署,因此无法最大化发挥爬取性能,而爬山虎是基于 workerman 开发的,能够轻松支持如下架构:异步通信 + 多进程 + 分布/分离式部署 + 事件驱动模型,从而保证爬山虎发挥最大化性能【不过作者认为:性能其实在爬虫领域内没有突出意义,而且有限的政策环境也使性能蒙上了物理阴影】;此外爬山虎采用了微内核 + 插件 + 分离式部署的设计理念,所以具备强扩展性。

results matching ""

    No results matching ""