WEB Seeker智能爬虫系统

产品概述

互联网时代,每天6亿中国网民通过人和人的互动,人和平台的互动,平台与平台的互动,实时生产海量数据。这些数据汇聚在一起,就能够获取到网民当下的情绪、行为、关注点和兴趣点、归属地、移动路径、社会关系链等一系列有价值的信息。

Web Seeker智能爬虫是智宇软件公司为满足用户获取互联网数据信息进行分析而自主研发的采集系统。Web Seeker是采用微软.NET Framework 4.5平台,结合智宇软件独创技术X-Matrix实现的高性能、安全、稳定、高效的互联网数据爬虫系统,能够满足95%以上对互联网数据采集的需求,优化的采集算法、平滑的扩展性、强大的纠错和容错机制以及独特的页面分析技术,使得该爬虫系统在实际使用具有优越的表现。


Web Seeker 智能爬虫系统

产品特点

1、螺旋式采集策略

根据对采集目标的分析,并进行了多组数据实验,综合其他爬虫软件弊端,我们把爬虫采集策略设计成螺旋式分布算法,逐层剥取数据,最终组成完整的数据模型。


该采集策略比普通的垂直采集更具优势,一是在采集效率上,要更加高效,采集速度将几何级别提高。普通采集通常是采用目标模型整体采集,一个完整数据采集,需要打开多层URL,并逐个去获取,每一层URL页面结构都不同,工作过程来回跳转加载页面,这对爬虫分析页面代码非常的低效。而我们采用螺旋式采集,把一个数据模型按页面层次划分为同一类型进行螺旋采集,使我们的爬虫每一次工作的时候都是采集同一类型的URL,不需要进行跳转加载,效率相对来普通的采集提高十几倍甚至是几十倍。

二是容错性更强。普通采集模式是整个数据模型单位进行采集,过程中会涉及几类URL页面,只要在任意一个位置出错,整个数据单位的采集进算是失败,重新启动又需要重头再进行一次,不管是效率上还是在容错性上都非常的差。而我们采用的螺旋式采集策略,采集过程中在螺旋结构任意一个节点出错,仅是整个数据单位中的一个小节点错误,可即时重试,系统设计是多线程工作,消耗的时间非常少,除了网页本身问题可以保证100 %采集成功,退一步来讲,就算是遇到特殊情况某一节点数据失败,对于整体数据单元来说至少缺少了某个字段数据,对统计分析来说并没有太大的影响,在下一次的更新采集中,会重新对数据补全。

 

2、多线程工作

作为一款数据采集产品,爬虫具备高效的采集速度是必不可少的,一般爬虫在设计的时候没有考虑到线程设计或者说能力问题没能把爬虫设计成高性能的多线程工作。我们的爬虫经过多次的测试按照一般服务器性能,开启20线程基本可以完全利用服务器CPU资源,提高10倍的带宽利用率。工作流程如图:

(图2 多线程工作流程)

 

多线程设计有哪些好处?结合我们前面提到的螺旋式采集模式,多线程在采集效率上直接提高10倍以上的采集速度,20个线程互相独立工作,在每一次采集过程中,任意一条线程出错,其他的依旧工作而不会产生阻塞,我们给每个线程设置的超时时间为30秒,重试机制为3次。假设爬虫性能完全一致的情况下,爬取1000个列表页面,其中有10次超时。单线程爬虫每一次遇到超时页面,我们的速度就提高30秒以上,多线程爬虫完全不受超时页面影响,至少有10条线程是全速进行,采集完大概消耗时间是100秒,而单线程所消耗的800秒+300秒超时+采集完成后对失败页面重试3次900秒,处理超时的时间是整个采集时间的60%,这样的性能可想而知。

 

3、性能提高方面

(1)具备容错能力。单个任务出错不会影响其它任务继续并且能够让出错的任务自动回到队列进行多次尝试。

(2)增量采集功能。为了避免不必要的重复工作,对于已经采集过的并且标记为完结的内容一般不会再进行刷新,而采集过但尚未标记为完结的内容则会进行增量采集工作。

(3)任务续传功能。当爬虫程序因为异常退出、人为关闭任务或其它原因中断了某个正在进行的任务,则下次重新启动爬虫,可接着上次中断点进行继续采集,而不需要完全重启整个采集任务。

(4)模拟浏览器功能。可模拟多种不同浏览器进行采集,例如可以模拟手机采集手机页面,模拟特定浏览器获取相应的代码,加大爬虫适应性。

(5)采集内容修正功能。因各网站平台的视频数据格式并不一致或完全规范,所以除了使用不同策略进行采集外更需要具备对数据进行拆分过滤多余信息的能力。

(6)多任务并行。如果采集功能只能单任务串行运行的话,可能无法充分利用CPU以及网络资源,采集速度低下,而我们采用多任务并行模式,可以同时开启多项任务进行采集工作,大大提高了爬虫采集效率。

(7)具备一定自动化功能。不需要人工值守,减少运行成本,管理后台可一键采集整站,也可以一键采集某站下的某个分类,提高运行效率。

(8)低系统运行要求。较低的系统运行要求,设计爬虫过程中,多次进行性能优化提升,单任务20线程全开的情况下,带宽由原来的占用2M/s多下降到130K/s左右,CPU基本上保持在30%以下(8线程处理器),内存占用90M左右,与同类爬虫产品相比,占据绝对优势。


相关产品解决方案
  • 政府行业
  • 教育行业
  • 企事业单位