专栏首页数据饕餮通用网络信息采集器(爬虫)设计方案

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

一、引言

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

二、需求分析

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

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

三、架构设计

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

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

四、成果展现

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

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

五、遗留问题

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 人脸识别完整项目实战(2):完整项目运行演示

    本文是《人脸识别完整项目实战》系列博文第1部分,第一节《完整项目运行演示》,本章内容系统介绍:人脸系统核心功能的运行演示。

    数据饕餮
  • 胖子哥的大数据之路(四)- VisualHBase功能需求框架

      大数据在结构化数据存储方面的应用需求越来越明确,但是大数据环境下辅助开发工具的不完善,给数据库管理人员和开发人员带来的不变难以言表,基于此创建了开源项目Vi...

    数据饕餮
  • Python网络爬虫实战案例之:7000本电子书下载(1)

    本文是《Python开发实战案例之网络爬虫》的第一部分:7000本电子书下载网络爬虫完整案例演示。配套视频课程详见网易云课堂

    数据饕餮
  • 不只是软件,在线也可以免费下载百度文库了。

    不管是学生,还是职场员工,下载各种文档几乎是不可避免的,各种XXX.docx,XXX.pptx更是家常便饭,人们最常用的就是百度文库,豆丁文库,道客巴巴这些下载...

    课代表
  • 一个关于IE的另一个坑

    今天同事找我,说wwt群共享下载文件一直失败,下载不下来。这地方是我N年前写的,之后就这么多年的没做维护了,先说下下载这部分是这样的:群共享其实是群空间的一个功...

    徐大嘴
  • 推荐一款超级下载利器工具,突破网盘的下载限制

    目前随着网盘一步一步的关闭或者收费,目前能用的网盘已经不多了,百度网盘目前是为数不多的,暂时没有关闭或者收费的网盘。但是我们都知道,下载网盘里的东西的时候,各种...

    非著名程序员
  • Chrome视频下载插件Flash Video Downloader v31.2.11下载

    分流下载:https://pan.baidu.com/s/1yMs8eV7smuTbSlYKI1XHuw 提取码: vf57

    德顺
  • 自己动手写工具:百度图片批量下载器

    开篇:在某些场景下,我们想要对百度图片搜出来的东东进行保存,但是一个一个得下载保存不仅耗时而且费劲,有木有一种方法能够简化我们的工作量呢,让我们在离线模式下也能...

    Edison Zhou
  • 高通量数据下载还能这样操作?

    本文属于转录组入门系列(RAN-seq基础入门传送门 http://www.biotrainee.com/thread-1750-1-1.html )第2部分内...

    生信技能树
  • 目前下载VS2017你可能会遇到这个坑

    可能现在大伙都已经开始使用VS2019进行开发了。VS2019的下载使用也都很简单。由于工作需要,今天要在笔记本上安装VS2017,结果发现,VS2017的下载...

    依乐祝

扫码关注云+社区

领取腾讯云代金券