开发者社区> 胖子哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看

一、引言

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

二、需求分析

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

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

三、架构设计

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

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

四、成果展现

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

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

五、遗留问题

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

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

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

相关文章
阿里云通用算力型u1服务器性能怎么样?CPU处理器网络性能详解
阿里云服务器ECS中云服务器u1通用算力型ECS实例提供均衡的计算、内存和网络资源,CPU内存比1:1、1:2或1:4,处理器采用Intel Xeon(Skylake) Platinum 8163或Intel Xeon(Cascade Lake) Platinum 8269CY
0 0
阿里云服务器u1通用算力型CPU型号、网络性能参数详解
阿里云通用算力型u1云服务器CPU采用2.5 GHz主频的Intel Xeon Platinum 8163(Skylake)或者8269CY(Cascade Lake)
0 0
阿里云服务器计算网络增强型sn1ne与通用网络增强型sn2ne实例介绍
阿里云在活动中增加了计算网络增强型sn1ne和通用网络增强型sn2ne实例,很多新手用户对这两个实例规格并不是很了解,下面简单介绍下这两个实例的特点、适用场景及网络带宽、网络收发包PPS等指标数据,来了解下这两个实例,以便大家参考选择。
0 0
把redis源码的linux网络库提取出来,自己封装成通用库使用(2)(★firecat推荐★)
把redis源码的linux网络库提取出来,自己封装成通用库使用(★firecat推荐★)
0 0
把redis源码的linux网络库提取出来,自己封装成通用库使用(1)(★firecat推荐★)
把redis源码的linux网络库提取出来,自己封装成通用库使用(★firecat推荐★)
0 0
阿里云通用网络增强型sn2ne云服务器配置性能评测
阿里云通用网络增强型sn2ne云服务器是企业级高性能云服务器规格,sn2ne是100%独占资源的云服务器,码笔记分享通用网络增强型sn2ne实例的配置、性能评测及优惠信息: 一:通用网络增强型sn2ne实例特点 阿里云通用网络增强型sn2ne云服务器属于企业级高性能云服务器,个人用户和企业用户均可以购买。
2265 0
+关注
胖子哥
数据仓库模型设计专家,主要从事金融,互联网行业广告行业数据架构和数据营销。QQ:1106110976
文章
问答
文章排行榜
最热
最新
相关电子书
更多
从百度文件系统看大型分布式系统设计
立即下载
商业流量的精准在线分配
立即下载
企业如何低成本、高效率,打破信息孤岛
立即下载