1、网络爬虫系统项目建设方案1. 对项目的理解1.1 背景.-.6.-.1.2 业务目标.错.误.!.未.定.义. 书签。1.3 应用感知目标-.6.-.2. 系统整体架构-. .7. .-.2.1 技术框架.-.7.-.2.2 数据架构.-.7.-.2.3 功能模块.-.8.-.2.4 功能模块.-.9.-.2.5 应用部署架构.-.1.0.-.3. 详细建设方案-. .1.1. .-.3.1 一站式大数据采集、存储、清洗、训练、导出-.1.1.-.3.2.-.1.1.-.多租户管理3.2.1功能说明 - 11 -3.2.2平台截图 - 11 -3.3 丰富的数据接口3.4 平台高可用性 .-.
2、1.1.-.-.1.1.-.3.5 抓取高效性 -.1.2.- 3.6 高可扩展性 -.1.2.- 3.7 可视化爬虫界面 -.1.2.- 3.8 抓取过程.-.1.2.-.3.9 硬件配置方案.-.1.3.-.3.9.1 主机、存储资源- 13 -3.9.2 软件资源- 14 -3.10 资源估算-.1.4.-.3.10.1 存储- 14 -3.10.2 CPU与内存- 15 -4. 系统安全与系统测试 错.误. !未定义书签4.1系统管理以及系统安全措施 错.误.!.未. 定义书签5.工程进度安排及项目实施人员资质 错.误 ! 未定义书签5.1工程进度安排 错 误.!.未.定.义 书签。5
3、.2项目支撑人员组成表 错.误 !.未.定. 义书签。5.3支撑人员相关证明材料 错.误.!.未.定 义书签。5.3.1杨继营(项目负责人) 错.误.!.未. 定义书签。5.3.2李筠 错.误.!.未.定.义. 书签。5.3.3邹娟 错.误.!.未.定.义. 书签。5.3.4邱文川 错.误.!.未.定.义. 书签。5.3.5唐亮 错.误.!.未.定.义. 书签。5.3.6赵柏杰 错.误.!.未.定.义. 书签。5.3.7刘子悦 错.误.!.未.定.义. 书签。5.3.8曹平 错.误.!.未.定.义. 书签。5.3.9陈汉雄 错.误.!.未.定.义. 书签。5.3.10陈一 错.误 !.未.定.
4、义. 书签。5.3.11付敏健 错.误.!.未.定.义. 书签。5.3.12张福元 错.误.!.未.定.义. 书签。5.3.13何州鹏 错.误.!.未.定.义. 书签。5.3.14黄华金 错.误.!.未.定.义. 书签。5.3.15黄习文 错.误.!.未.定.义. 书签。5.3.16李佳 错.误 !.未.定.义. 书签。5.3.17李威虎 错.误.!.未.定.义. 书签。5.3.18刘起云 错.误.!.未.定.义. 书签。5.3.19冼锡勇 错.误.!.未.定.义. 书签。5.3.20杨锋 错.误 !.未.定.义. 书签。5.3.21邹兴 错.误 !.未.定.义. 书签。6.售后服务及质量保证
5、措施、技术支持和保修等 错. 误 ! 未定义书签6.1培训 错.误.!.未.定.义.书 签。6.2维护与升级 错.误.!.未.定.义 书签。6.3质量保证期内的服务 错.误 !.未.定. 义书签。6.4寿命期内维修服务 错 误.!.未.定. 义书签。 错.误. !未定义书签 错.误. !未定义书签.错.误.!.未.定.义. 书签。.错.误.!.未.定.义. 书签。售前阶段的配合服务 错.误 !.未.定. 义书签售中阶段的配合服务 错.误 !.未.定. 义书签售后阶段的配合服务 错.误 !.未.定. 义书签9. 技术承诺 错 误 !.未 定义书签8.18.28.38.48.59.19.29.39
6、.49.59.69.79.87.人员培训计划、安排8.分工界面及工作内容 技术支持 培训推广 知识产权 错.误.!.未.定.义. 书签安全方案 错.误.!.未.定.义. 书签电话技术支持服务 错 误.!.未.定. 义书签版本管理和软件补丁服务 错.误.!.未. 定义书签技术资料服务 错 误.!.未.定.义 书签重要通讯保障服务 错 误.!.未.定. 义书签应急方案设计与预演服务 错.误.!.未. 定义书签10. 相关案例 错 误 !.未 定义书签。1.对项目的理解1.1背景持续推进企业信息化的全面深化改革,深入公司管理层、分公司及一线收集问题和需 求,围绕“快、准、简、稳、智”五个标准,贯彻“
7、零不爽” IT 运营服务理念,提出了大 数据应用建设内容,承接集团全网集约营销活动,提升本地精准营销服务,开展大数据合 作运营分析,提升财务、业务价值、人力和光网的精确管理能力,优化领导视窗,建立网 运综合评价体系,建设爬虫能力,实现智慧化运营应用感知目标爬虫页面响应及内容加载在 5 秒内,内容展示响应速度时间小于 5 秒。爬虫配置,系统维护功能简单易用, 80%用户可以在经过简单培训后结合使用手册,完成爬虫的开发和平台的维护。爬虫平均宕机运行时间 10小时/ 月。平均故障恢复时间 180分钟/次。爬虫可以自动根据爬虫节点的负载进行负载均衡处理,同时当爬虫出现不可恢复的错误时,可以智能的选择其
8、他节点进行重新运行,保证爬虫任务可以正确完成2.系统整体架构2.1技术框架分布式爬虫框架采用 Nutch。Nutch 是一个开源 Java实现的搜索引擎 ,它提供了我们运行 自己的搜索引擎所需的全部工具 ,包括全文搜索和 Web爬虫。Nutch基于Lucene,类似 Google的完整网络搜索引擎解决方案,基于 Hadoop的分布式处 理模型保证了系统的性能,插件机制保证了系统的可客户化,而且很容易集成到自己的应 用之中。总体上 Nutch可以分为两部分:抓取部分和搜索部分。抓取程序抓取页面并把抓取回来 的数据做成反向索引,搜索程序则对反向索引搜索回答用户的请求。抓取程序和搜索程序 的接口是索
9、引,两者都使用索引中的字段。抓取程序和搜索程序可以分别位于不同的机器 上。2.2数据架构抓取程序是被 Nutch的抓取工具驱动的。这是一组工具,用来建立和维护几个不同的数 据结构: web databas、e segments、 the index三种不同的数据结构:The web databas(e简称 WebDB):这是一个特殊存储数据结构,用来映像被抓 取网站数据的结构和属性的集合。 WebDB用来存储从抓取开始(包括重新抓取) 的所有网站结构数据和属性。 WebDB只是被抓取程序使用, 搜索程序并不使用它。 WebDB存储两种实体:页面和链接。页面表示网络上的一个网页, 这个网页的 U
10、RL 内容也被存储,包括:页面中的链接数量(外链接),页面抓取信息(在页面被重 复抓取的情况下) ,还有表示页面级别的分数。 链接表示从一个网页的链接到其它 网页的链接。因此 WebDB可以说是一个网络图,节点是页面,链接是边;Segmen:t 这是网页的集合,并且它被索引。 Segmen的t Fetchlist是抓取程序 使用的URL列表,它是从 WebDB 中生成的。 Fetcher的输出数据是从 Fetchlist中抓 取的网页。 Fetcher的输出数据先被反向索引,然后索引后的结果被存储在 segment 中。 Segmen的t 生命周期是有限制的,当下一轮抓取开始后它就没有用了。因
11、此删 除超过指定时间期限的 segmen是t 可以的。而且也可以节省不少磁盘空间。 Segment 的命名是日期加时间,反应出相应的存活周期;The index:索引库是反向索引所有系统中被抓取的页面,它并不直接从页面反向索引 产生,而是合并很多小的 segmen的t 索引产生的。 Nutch使用 Lucene来建立索引,因此所有 Lucene相关的工具 API 都用来建立索引库。需要说明的是 Lucene的segmen的t 概念和 Nutch的 segmen概t 念是完全不同的。 Lucene的segmen是t Lucene索引库的一部分,而 Nutch的Segment 是WebDB中被抓取
12、和索引的一部分。2.3功能模块爬虫平台分精爬与通爬两大功能模块,以满足不同租户的数据采集需求,多租户的系 统功能逻辑如下 :1、精爬租户登陆云爬虫管理平台,在线编辑爬虫脚本,云爬虫系统按计划编写的脚本规则爬 取相应页面的指定部分(比如具体评论列表),并存入大数据平台、建立全文索引。2、通爬调用方调用由云爬虫系统提供的通爬接口,云爬虫系统实时根据策略(代理 IP等)爬取结果返回调用方,并存入 Hadoop平台、建立全文索引。2.4功能模块爬虫平台的物理架构如下,按层次划分,主要分为接入层、采集层和持久层,如下图 所示:1、接入层接入层包含 Web与接口。 Web主机负责负载均衡分配任务,以及展示
13、任务列表。在 Web 页面上,租户可以根据需要创建新的爬取任务。对于创建成功的爬取任务,可以通过 Web 页面查看其基本信息。 REST API则负责对外提供爬虫能力接口。2、采集层采集层包含爬虫主机与消息队列主机。爬虫主机负责接收 Web主机分配的任务,包括 抓取网页并返回内容、 对抓取的内容进行解析和结构化, 以及将结构化的结果进行持久化。 Redis作为消息队列,负责进行任务的分发。3、持久层通常网络爬虫抓取的数据量非常大,而存储大量的数据需要较大的存储空间,因此持久层采用了中国移动苏州研发中心自研的 Hadoop平台产品。2.5应用部署架构爬虫平台的应用部署架构如下,主要分为 Web服
14、务域和采集服务域。1、Web服务域提供给租户用来编写调试爬虫脚本,安装了 WebUI、Schedule等r 组件。2、采集服务域用来进行数据采集和结果返回,各 Spider节点安装了 Fetcher、Processo、r Result_Worker、Rest API、Selenium、PhantomJS等组件。3.详细建设方案3.1一站式大数据采集、存储、清洗、训练、导出从数据获取到处理、输出全站打通的,以一键自动发布到数据库 / 网站 / 微信公众号 /邮箱等 、导出到本地文件 、或通过 Webhook / GraphQL 获取数据。3.2多租户管理3.2.1功能说明云爬虫和互联网数据存储分
15、析平台 PaaS化,实现了多租户和租户间的资源隔离能力。3.2.2平台截图3.3 丰富的数据接口扩展了多种数据接口的读写能力,如关系型数据库 Oracle、非关系型 HBase、HDFS 文 件、ES 以及流式消息接口 Kafka,以此来支持如精爬、通爬等不同的业务需求。3.4 平台高可用性云爬虫平台的所有爬取节点和数据存储分析节点均匀的分布在多台物理节点上,单台 机器的宕机不会引起整个爬取进程的中断,这种分布式架构提升了系统整体的健壮性。3.5抓取高效性 单机模式下的网络爬虫效率不高,不能满足大规模的抓取任务需求,云爬虫平台为爬虫租户分配多个爬取节点,通过读取共享任务池来共同执行抓取任务,每
16、个爬取节点都可以看成是一个单机的网络爬虫,能大幅度的提高页面的抓取效率。3.6高可扩展性支持静态爬取和动态渲染的主流网站数据爬取,如天猫、京东、大众点评、豆瓣等,能够根据当前爬虫任务量动态地调节爬虫节点数量,比起传统爬虫方式灵活性更强。同时,租户在编写脚本时自定义程度高,允许租户根据不同的爬取需求自定义爬取范围。3.7可视化爬虫界面云爬虫平台为爬虫租户提供了一个可视化页面来编辑调试爬虫脚本,平台支持静态和动态渲染的主流网站爬取,同时能根据业务紧急程度动态调整各爬虫任务的优先级,并提供了一个爬取数据结果的页面导出功能,方便样例数据查看,系统页面如下图所示:3.8抓取过程抓取是一个循环的过程, 抓
17、取工具从 WebDB 中生成了一个 Fetchlist集合;抽取工具根据 Fetchlist 从网络上下载网页内容;工具程序根据抽取工具发现的新链接更新 WebDB,然后再生成新的 Fetchlist,周而复始。这个抓取循环在 Nutch 中经常指: generate/fetch/update循环般来说同一域名下的 URL 链接会被合成到同一个 Fetchlist。这样做的考虑是:当同时使用多个工具抓取的时候,不会产生重复抓取的现象。 Nutch 遵循 Robots Exclusion Protocol, 可以用 robots.txt 定义保护私有网页数据不被抓去。上面这个抓取工具的组合是 N
18、utch 的最外层的, 也可以直接使用更底层的工具, 自己组 合这些底层工具的执行顺序达到同样的结果。这是 Nutch 的优势。具体工作过程如下:创建一个新的 WebDB (admin db -create;)把开始抓取的跟 URL 放入 WebDb (inject);从 WebDb 的新 segment中生成 Fetchlist (generate;)根据 Fetchlist 列表抓取网页的内容 (fetch);根据抓取回来的网页链接 URL 更新 WebDB (updatedb);重复上面 c-e 步骤直到到达指定的抓取层数;3.9硬件配置方案3.9.1主机、存储资源本项目硬件配置包括数据
19、库服务器 2台、应用服务器 2台,具体配置如下;主机名称CPU(个)内存(G)存储 (G)操作系统描述HR-APP-A4850RedHat6.5应用主机,需要安装Tomcat7.0.73和 JDK1.7HR-APP-B4850RedHat应用主机,需要安装6.5Tomcat7.0.73和 JDK1.7HR-DB-A16323515oracle数据库主机,利旧HR-DB-B1632oracle数据库主机,利旧3.9.2软件资源1)数据库: Oracle 11g2)操作系统: RedHat 6.53)应用服务器: Tomcat7.0.73、JDK 1.74)WEB服务器: Nginx 1.10.3
20、(公用) 3.10资源估算3.10.1存储主机存储(G)估算依据HR-APP-A32门户与应用脚本 1G系统缓存: 2GTomcat日志: 4G 临时数据接口存储: 8G 数据集成平台与启动缓存: 4G 系统冗余比例: 40% 总存储要求: (1+2+4+8+4)/(1-40%)= 31.66GHR-APP-B32同上HR-DB-A3515Oracle 11g 安装空间: 60GHR-DB-B系统表空间: 200G应用表空间: 2200G系统冗余比例: 30%总存储要求: (60+200+1600)/(1-30%)=3514.29G3.10.2 CPU 与内存满足日常运行要求即可。建议配置如下: 应用服务器: 4Cpu /8G 内存(保证 Tomcat 能正常运行即可 ) 数据库服务器: 16Cpu /32G 内存 (保证 oracle11g能正常运行即可 )
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1