基于网络原型挖掘AjaxCrawler系统研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于网络原型挖掘AjaxCrawler系统研究

基于网络原型挖掘AjaxCrawler系统研究   摘 要:自媒体时代,网络舆论管理、议题管理和危机管理变得十分困难,解决难题的关键是对网络用户身份的有效识别,而传统的用户身份识别所遵循检索发现收集的过程,存在人工参与度大、缺少真实性评估、时效带来的数据丢失等缺陷。本文探索一种对互联网开放数据的主动收集方法,并针对目前交互式网络站点普遍使用Ajax技术的特性详细设计了AjaxCrawler系统,采用并发策略,相对传统爬虫系统具有更好效率和稳定性。   【关键词】爬虫 ajax 并行   1 背景   自媒体时代,网络舆论管理、议题管理和危机管理变得十分困难,解决难题的关键是对网络用户身份的有效识别。目前,用户身份识别主要依赖人工检索结合技术提纯的方式,也就是通过在网络中检索用户分享的数据,从中查找身份信息之间的相关关系、身份特征信息,最后结合技术手段获取真实身份,简单来说就是先检索再发现最后收集的过程。优势是,随着用户分享带来的数据丰富性,可以挖掘的潜在相关关系越丰富。然而,缺陷也很明显,一是效率不够,对广泛互联网数据的搜索需要花费大量人力;二是缺少真实性评估,相关关系没有绝对,只有可能性,面对不对称的检索结果,真实性势必受到主观偏见的影响;三是时效性带来的数据丢失,无论是用户的主动删除还是资源平台的被动删除,缺少主动收集机制造成的数据丢失不可避免。   为了解决上述存在的缺陷同时让优势大放异彩,本文提出一种用于网络原型挖掘的AjaxCrawler系统,通过主动收集的方式对现有工作模式进行有效升级。   2 设计目标和详细设计   网络原型挖掘的对象主要是提供用户数据交互的web、bbs站点,而此类站点为了提供更好的用户体验多在开发中采用AJAX技术,所以AjaxCrawler的设计重点是实现对支持AJAX技术的动态网页的有效挖掘。   2.1 设计目标   设计主要考虑几方面因素:一是抓取质量,针对Web、Bbs采取不同的抓取策略,通过JavaScript解析器实现对AJAX动态页面完整抓取,同时支持JS代码中的DOM操作,以获取页面元素、修改页面元素的内容;二是抓取效率,针对网络延迟、站点限制等因素采取并行策略,使爬虫同时处理不同的URL,以提高网络带宽利用率,加快处理速度;三是抓取策略灵活性,能够设定采集范围、采集频度、采集时间和采集深度,以期能达到最好的特定信息采集效果。   2.2 详细设计   系统采用四层结构。第一层Client节点是门户和命令入口,用户通过它进行任务下发、查看执行结果;第二层Master节点是唯一的控制器,连接Client和Crawler,进行任务的抽取和分发;第三层XCrawler节点由不同的Crawler组成,结构上便于扩展,同时,将Ajax模块独立出来以降低系统耦合性,便于针对非JS脚本页面添加其它引擎;第四层Depository节点是系统仓库,存储运行结果等信息,此讨论重点将不再提及。本系统的通信库基于MINA开发,系统各节点之间通信,只需要调用相应的API即可,不用关心通信细节。系统体系结构设计,如图1所示:   2.2.1 XCrawler设计   XCrawler是具体执行任务的节点,分为WebCrawler、BBSCrawler,架构基本相同,仅抓取策略和方式有所区别。其架构如图2所示:   爬虫系统分为两部分,第一部分是预处理,负责净化URL,去除不必要抓取的URL,类似于过滤器。第二部分是网页抓取,由于网页下载比较耗时,为充分利用资源,采用多线程。抓取阶段获得网页,析出网页内部的链接,然后进行预处理,以净化可能包含有以前抓去过的重复URL、Robots协议禁止抓取的URL等。Clean URLs是净化后的URL库,存放需要抓取的URL。   2.2.2 页面预处理   (1)页面去重 为避免页面重复抓取,系统包含网页去重管理机制,建立了一个可维护的HASH表,记录已处理过的URL的MD5值。页面预处理通过判断任务URL的MD5值在HASH表中是否存在,来判断URL是否重复。   (2)HTTP协议控制和URL文件格式控制 目前只支持HTTP协议,HTTP协议控制用来检测URL协议,如果不是HTTP协议直接抛弃;系统收集对象是包含用户身份信息的网页文本,一些多媒体格式,比如MP3,AVI和JPG等格式并不需要,URL文件格式控制用来过滤不支持的URL。   (3)Robots控制。遇到一个新网站时,首先会通过Robots文件管理模块获取该网站的robots.txt文件,然后根据robots.txt的文件规定控制URL的抓取。   2.2.3 AjaxEngine设计   3 AjaxCrawler的实现   3.1 Crawler的实

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档