打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
分布式爬虫系统设计

组类( A ): A 本科及以上

赛题简介:介绍整个赛题的思路和整体要求

爬虫系统,是对海量的分散的互联网数据进行采集的系统,是搜索引擎系统的基础。大数据近年来快速发展,炙手可热,不仅是数据的容量大,更是强调对全样本的数据的分析。互联网数据中包含了大量有价值信息,是大数据的重要数据来源。

而互联网上的数据内容丰富,组织形式也灵活多样。传统的爬虫系统,对所有的网页采用同样的办法处理,利用深度优先或广度优先的办法获取网页链接,下载网页,对网页中的所有的文本数据建立倒排索引。这种方式没有对网页数据的信息进行组织、归类。

应大数据的需求,分布式爬虫系统是解决这一问题的方案。分布式爬虫,对同一个网站的同类数据,进行结构化。同时,能利用分布式的软件设计方法,实现爬虫的高效采集。

 

赛题业务场景:描述赛题相关的真实企业业务背景。从真实场景中,适当简化或者提炼出适合比赛的赛题场景

互联网是企业进行发布信息的渠道,是个人共享和获取信息的工具,同时也为政府提供了大量有价值的信息,用于监管企业和个人。政府有效的利用互联网的信息,能发现舆论倾向,建立征信体系,发现犯罪行为等。

电商网站是个体户及企业进行网上销售的平台。电商网站中的数据具有重要的价值,能体现经济发展趋势,居民消费水平等。而电商网站具有以下特点:

1.数据变化极快,时效性极高

2.不同网站数据组织不同,分类标签不同

3.网站的反爬虫机制较强

4.每个页面被多个页面链接,重复链接多

导致电商网站采集具有以下问题:

1.爬虫被反爬机制屏蔽

2.采集周期较长

3.需为不同的网站定制实现程序,进行结构化,人工成本较高

4.页面链接去重也影响采集效率

因此,对电商网站的高效的采集、并且能自动的(尽量减少人工的)提取网页中的数据,是具有价值和挑战性的。

功能性需求

爬虫

1.爬虫策略

爬虫策略,应该保证爬虫的下载快速和高效,能解决爬虫面临的反爬虫问题。输入入口URL之后,自动分析网页的组织形态获取新的链接,进行下载。例如输入XX电商主页地址后,自动分析导航菜单,自动分析翻页地址,自动分析详情页的地址等。

2.URL去重算法

对URL进行去重,已经下载过的,没有进行数据更新的,不再进行下载。去重算法应考虑内存的问题,内存越小越优。

分布式调度算法

爬虫任务,可以理解为对一个网站的一次采集过程。

分布式爬虫将所有任务在多台机器上分布式执行(可用多进程模拟)。分布式调度策略,应该将不同网站的URL混合后,分配到多台机器上执行。分布式调度策略的重点在URL的分配策略、失败处理等。

分布式调度应该有多种调度策略,满足不同的场景需求。例如,有的任务必须在特定日期前执行完成,有的任务需要在另一个任务之后执行。

调度算法应该在满足特定的条件下,实现最大的下载量。

 

网页自动结构化

1.对于电商类网页,能对同一个网站的数据进行自动结构化,生成不同的表,例如商品表、店铺表、评价表等

2.对于新闻博客类网页,能进行网页正文的自动抽取,对正文进行自动摘要和关键词分析

非功能性需求

1.模块化, 系统中的可变部分,应进行模块化,是可插拔的

2.可靠性,分布式系统的每个模块出现异常后,能自动恢复

其他限制条件:开发环境、实验平台、开发语言、数据库、编译器等限制条件(请尽量明确)

开发环境:eclipse或其他IDE

开发语言:Java或Python

服务器操作系统:linux

运行环境:如使用Java,运行在JDK 1.7+上,

如使用Python,运行在Python2.7上

测试数据或平台:提供给参赛者的测试环境和测试数据。(可提供电子档)

1.测试环境:可使用云服务、或者本地搭建

2.结果评估:

详细的算法设计文档,并演示系统,能够正常运行;

分布式调度算法,输入特定的几个网站入口,相同的运行环境和进程数,最早能爬完者优,或者单位时间内下载不同网页数量数多者优;

网页自动结构化,提供指定电商网站的网页数据集,能自动生成结构化数据。提供正文语料集合,可评估正文抽取的准确率等。

开发所需设备及设备指标需求说明

开发设备:市场上常规可见的PC机即可

其他要求

1.在开发过程中保证软件的透明度,整个设计都严格按照软件工程的流程进行。在软件过程控制的各个阶段应产生相应的控制和设计文档。

2.代码规范,可读性强

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
手把手教你搭建一个基于Java的分布式爬虫系统
Python爬虫,学习路径拆解及资源推荐
怎么抓取网页数据 爬虫技术可以爬取什么数据?
scrapy
python网络爬虫学习路线的最全总结,理清思路才能高效学好爬虫
什么是大数据?你需要知道的…..
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服