通用网络信息采集器(爬虫)设计方案-阿里云开发者社区

开发者社区> 胖子哥> 正文

通用网络信息采集器(爬虫)设计方案

简介:
+关注继续查看

一、引言

  Heritrix3.X与1.X版本变化比较大,基于此带来的Extractor定向扩展方法也受到影响,自定义扩展方面因为接口的变化受阻,从而萌生了通用网络信息采集器设计的想法。一直没有一个好的网络信息采集器,必须能够适应下载对象的多样性和下载内容的复杂性。比如需要同时下载100多家主流媒体的新闻信息,并解析入库等。本文围绕通用网络信息采集器的设计展开。

二、需求分析

  一个好的网络爬虫必须满足通用性、多任务、定向性和可扩展性。

通用性是指可以满足不同格式下载对象的下载,如HTML、JS、PDF等等;多任务是指同时可以执行多个下载任务,即不同的网络站点;定向性是指可以根据自己的业务需求定向下载,即只下载自己关注的网页,其他无关页面自动过滤掉。比较好的是开源社区有很多可用的资源,比较不好的是能同时满足以上需求的软件非常少,好在Heritrix3.X就是能够满足的之一,不过需要自己编写代码,扩展Extrator,实现其定向下载。

三、架构设计

  以下部分是期待中网络信息采集器的逻辑架构。如下图所示:

 每一个目标任务代表一个下载渠道,比如sina、sohu等,下载规则负责URL过滤,只下载满足规则的内容,比如新闻;解析规则负责已经下载下来的内容的过滤,只选择我想要的东西,比如新闻标题、内容、评论等;元数据规则定义数据入库规则,任务与元数据规则关联实现自动入库。

四、成果展现

  博客园躺着中枪了,以我个人的技术博客作为下载目标,以下部分展现的是我通过定向扩展后的下载结果:

P文件夹中的内容,代表具体的网页:

五、遗留问题

  1.URL发现是否有必要独立,单独做成工具,根据入口网址+过滤规则,输出待下载对象的URL地址?当前采用的模式是复合式,逻辑上分离,物理上耦合。

  2.如何实现增量下载和循环运行,当前任务启停是通过人工干预。需要改进。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
网络采集器
引用:http://hi.baidu.com/%B4%F3%CE%B0/blog/item/941ed8b49ee58f6b8bd4b2e2.html 我们在浏览网页的时候,都会在浏览器地址栏中输入需要访问的地址,通常这些地址都是以HTTP打头,表明是采用HTTP协议实现和站点通讯,HTTP准确的说法是超文本传输协议,归根结底还是文本,所以传输的内容就是文本,浏览的网页也是文本,这就是我们可以采集网站数据的根本。
926 0
[软考考点解析]软件设计师--主存与Cache地址映射方式
1. 题目 主存与Cache的地址映射方式中,____方式可以实现任意主存的任意一块装入Cache中任意位置,只有装满才需要替换。 A 全相联 B 直接映射 C 组相联 D 串并联
6 0
《异构信息网络挖掘: 原理和方法》—— 2.3 NetClus算法
我们解决的第二项聚类任务是针对包含更多类型的对象和链接、更一般性的异构信息网络,对各个类型对象实现软聚类。在异构信息网络中,具有星型网络模式的网络普遍存在且重要,例如以论文为中心的文献网络(例2.6),以带标签事件为中心的标签网络。
3154 0
《异构信息网络挖掘: 原理和方法》—— 导读
当下大数据技术发展变化日新月异,大数据应用已经遍及工业和社会生活的方方面面,原有的数据管理理论体系与大数据产业应用之间的差距日益加大,而工业界对于大数据人才的需求却急剧增加。大数据专业人才的培养是新一轮科技较量的基础,高等院校承担着大数据人才培养的重任。
2081 0
+关注
胖子哥
数据仓库模型设计专家,主要从事金融,互联网行业广告行业数据架构和数据营销。QQ:1106110976
154
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载