集群爬虫的技术标准:
基础概念:
1.物理节点:对应真实的物理机或虚拟环境中的物理机,具有独立的计算能力和存储能力。
2.运行对接:由数据引擎(S端)和爬虫引擎(C)进行C/S模式数据流转。
模块编号
模块功能
对应主体
1
地址处理
爬取路径
2
数据页处理
原生的,非结构化的数据页
3
数据结构化(抽取)
爬虫的工作目标
4
方法(规则)库调用,指导1、2、3模块运行。
人类智能和人工智能相融合的混合智能
工程实现:算法,编码与系统维护相结合,满足个性化,人性化,智能化的目标实现。
核心阐述:
单机爬虫:依托于一个物理节点,动态调用上文1-4模块的实例。
多机爬虫的集群模型:
创新:引入蚁后(领导爬虫)的概念,即通常所说的核心主机。
作用:
1.调度单核爬虫作业;
2.重构单核爬虫;
3.支持资源的动态分配。
常见爬虫的任务流程拓扑结构:
图一 单节点模式
图二 双机热备份模式
图三 总线型顺序分工模式
图四 环状型顺序执行循环任务模式
图五 星型主从调度执行模式
图六 对等网型直联协作模式
图七 网状型分层复杂协作模式
特别说明:针对中小企业和创业者,因其资源和业务范围有限,因此爬虫集群最多扩充到图六那种星型拓扑。LDAE_1.5_创业版已基本实现。
技术细节:
地址爬虫:取得地址列表,永久化存储(通常是:在本地文件中)。找一个收益最大的地址,递归调用,同时去重和清理。
数据页爬虫:在地址爬虫结束任务后,从地址队列表中按某规则, 顺序爬取网页或其它数据源到数据页库,去重和初步清理。
结构化爬虫:在数据页爬虫完成任务后,对本地的初步去重和清理过后的数据页, 按照规则库进行结构化处理。最简单的就是:找标题、关键词、生成时间 和主要内容 。复杂一点的就是:自动标签,情感分析,敏感词抽取 。规则库的调用主要看业务需要
。
运行机制:通常情况下,三个爬虫由任务调度器管控,为线性队列,默认是阻塞型。也有特殊情况,例如: 实时爬虫,一般搜索引擎用,
是一次调用,
只处理一个地址对应的一个数据页的数据分析,然后马上加入索引和缓存。这个是高端应用,一般看业务需要,很少采用,因为比较消耗资源。
通常做法是:按种子网址来分配主任务 。一个种子网址对应一个网站 ,分配一个独立的数据库,包括内存型和硬盘型。
处理完,再进行下一个种子的主任务。 可以是一台物理主机处理N个种子, 也可以
N个主机处理N个种子。假如这个站特别大,任务特别紧,也可以N个主机处理一个种子,即集群并行处理。
区间小总结:
1. 爬虫的配置和调用方式,按具体业务和经验结合配置。
2.
地址,数据页和结构化是基础爬虫,类似于蚁群中的工蚂。我们很多教材为了教学方便,常常将仅仅针对一个网页(即一个数据源的一个单任务流程)的三步操作:地址,数据页和结构化放在一个模块文件里讲授,造成约定俗称的爬虫就是这样的,其实是简化的爬虫程序,不适合应用于大规模高复杂度的工程。
求组队:合作开发集群爬虫,用于业余创业。
百分百原创,低手高手均可,QQ:27461933