内容采集器(Heritrix3.X与1.X版本变化比较大的需求分析)

优采云 发布时间: 2021-12-14 16:45

  内容采集器(Heritrix3.X与1.X版本变化比较大的需求分析)

  一、简介

  Heritrix3.X和1.X版本变化很大,基于此的Extractor定向扩展方式也受到影响。自定义扩展因接口变化而被屏蔽,进而产生通用网络信息采集器设计思路。从来没有一个好的网络信息采集器,必须能够适应下载对象的多样性和下载内容的复杂性。例如,100多个主流媒体的新闻信息需要同时下载,并在数据库中进行分析和存储。本文重点介绍通用网络信息采集器的设计。

  二、 需求分析

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

  通用性是指能够下载不同格式的对象,如HTML、JS、PDF等;多任务是指能够同时执行多个下载任务,即不同的网络站点;定向是指能够根据自己的业务需求有针对性的下载,即只下载自己关心的网页,其他不相关的页面会自动过滤掉。好消息是开源社区有很多可用的资源。不好的是,能同时满足上述要求的软件很少。幸运的是,Heritrix3.X 是可以满足它的其中之一,但是您需要编写自己的代码并对其进行扩展。Extrator,实现其定向下载。

  三、建筑设计

  以下部分是预期网络信息采集器的逻辑结构。如下所示:

  每个目标任务代表一个下载频道,如新浪、搜狐等,下载规则负责URL过滤,只下载符合规则的内容,如新闻;解析规则负责过滤下载的内容,只选择我想要的东西。例如,新闻标题、内容、评论等;元数据规则定义了数据存储规则,任务和元数据规则关联起来实现自动存储。

  四、成果展示

  博客园是躺着拍摄的,以我个人的技术博客为下载对象。下面是我定向扩展后的下载结果:

  P文件夹中的内容代表一个特定的网页:

  五、遗留问题

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

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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线