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

简介: 一、引言   Heritrix3.X与1.X版本变化比较大,基于此带来的Extractor定向扩展方法也受到影响,自定义扩展方面因为接口的变化受阻,从而萌生了通用网络信息采集器设计的想法。一直没有一个好的网络信息采集器,必须能够适应下载对象的多样性和下载内容的复杂性。

一、引言

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

二、需求分析

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

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

三、架构设计

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

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

四、成果展现

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

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

五、遗留问题

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

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


作者:张子良
出处:http://www.cnblogs.com/hadoopdev
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

相关文章
|
2月前
|
数据采集 存储 API
在信息时代,Python爬虫用于自动化网络数据采集,提高效率。
【7月更文挑战第5天】在信息时代,Python爬虫用于自动化网络数据采集,提高效率。基本概念包括发送HTTP请求、解析HTML、存储数据及异常处理。常用库有requests(发送请求)和BeautifulSoup(解析HTML)。基本流程:导入库,发送GET请求,解析网页提取数据,存储结果,并处理异常。应用案例涉及抓取新闻、商品信息等。
80 2
|
1月前
|
Web App开发 人工智能 运维
无缝融入,即刻智能[1]:MaxKB知识库问答系统,零编码嵌入第三方业务系统,定制专属智能方案,用户满意度飙升
【8月更文挑战第1天】无缝融入,即刻智能[1]:MaxKB知识库问答系统,零编码嵌入第三方业务系统,定制专属智能方案,用户满意度飙升
无缝融入,即刻智能[1]:MaxKB知识库问答系统,零编码嵌入第三方业务系统,定制专属智能方案,用户满意度飙升
|
2月前
|
传感器 机器学习/深度学习 人工智能
怎样实现船舶自动化系统的高效精准控制?
怎样实现船舶自动化系统的高效精准控制?
27 0
|
4月前
|
数据采集 存储 传感器
浅谈数据采集的难点|大规模数据采集首选的电商API接口
在当今的制造业领域,数据采集是一个难点。很多企业的生产数据采集主要依靠传统的手工作业方式,采集过程中容易出现人为的记录错误且效率低下。 有些企业虽然引进了相关技术手段,并且应用了数据采集系统,但是由于系统本身的原因以及企业没有选择最适合自己的数据采集系统,因此也无法实现信息采集的实时性、精确性和延伸性管理,各单元出现了信息断层的现象。
|
监控 算法 安全
流量分析算法:网络管理软件的关键利器
流量分析算法在上网行为管理软件中可是个大活宝,它有着不少亮点和广泛的应用。这些算法可以助你轻松地监管、调优、保卫你的网络,确保网络运行得顺畅、安全合规。现在,让我们随意聊聊,看看流量分析算法究竟有哪些炫酷之处,以及在上网行为管理软件中是如何广泛应用的。
138 1
|
存储 固态存储 关系型数据库
短链系统设计-场景需求及性能要求分析
如脉脉,不会纵容你发太长的网址,会给你转成短链。
175 0
|
负载均衡 监控 安全
网关系统就该这么设计,万能通用,稳的一批!
网关系统就该这么设计,万能通用,稳的一批!
|
负载均衡 监控 安全
网关系统就该这么设计(万能通用),稳的一批!
网关系统就该这么设计(万能通用),稳的一批!
|
监控 搜索推荐 数据挖掘
如何使用海关数据准确开发到客户
海关数据其实一直是外贸应用中最广泛的开发渠道,而且特别利好初学者,是企业开发新客户、监控同行、维护老客户以及决策参考的商战利器。当然,想通过海关数据精确找到客户,需要熟悉以下操作技巧。
216 0
|
设计模式 负载均衡 数据可视化
服务管理与通信,基础原理分析
阅读源码最重要的是耐着心情慢慢看,并随手画下核心流程,实际上如果有一定的编程经验,不管是阅读什么工程的源码,只要用心去分析单点的实现原理,都算不上过度复杂。
127 0
服务管理与通信,基础原理分析