网多云爬虫是什么
网多云爬虫依托于网多云平台,使用JavaScript
语言进行开发,通过配置和回调函数,来构建一个可以在网多云平台上运行、爬取指定数据的爬虫。
一个网多云爬虫的骨架如下:
var configs = {}; |
爬虫的基本设置和回调函数都定义在对象configs
中,通过new Crawler(configs)
来构建爬虫,最后通过start
函数来启动。
网多云爬虫开发就是通过实现不同的configs
对象,来构建不同爬取目标的爬虫。
爬虫平台实现了什么
一般来说,一个完整的爬虫包含五个模块:链接调度、网页下载、数据抽取、链接发现、数据存储。网多云爬虫平台对这五个模块做了最大程度的支持,以方便开发者迅速开发出想要的爬虫。
链接调度
平台实现了一个完善的分布式链接调度,调度细节是对开发者是透明的,不过开发者可以通过平台设定好的一些规则,来从整体上控制链接调度的顺序。完善的分布式链接调度,使得开发者开发出来的爬虫,直接具有分布式爬虫的能力,可以通过简单的加减节点操作,达到加速或减速爬取速度的目的。
网页下载
平台实现了三种方式的网页下载,高效且常用的HTTP
、有渲染功能的HtmlUnit
和PhantomJS
。
默认是HTTP
的方式下载,可以配置使用其他另外两种。
数据抽取
平台支持三种数据抽取方式,适用于网页的XPath
、适用于json数据的JsonPath
和适用于所有文本的正则表达式
。
整个数据的抽取需要开发者在configs
中配置,可以结合使用这三种方式进行网页抽取。
链接发现
平台实现了通用的自动链接发现,不过对于定向爬虫,一般自动链接发现的效率会很低,需要开发者配置一些链接规则来提高自动链接发现的效率。
也可以通过平台提供的回调函数,自己控制整个链接发现。
数据存储
数据直接存储在网多云平台,对开发者是透明的。平台实现了较完善的数据版本控制机制,并提供了相应的规则,开发者可以通过规则来控制数据的版本。
点击这里查看详细的版本控制规则。