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

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

简介: 一、引言   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
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

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

相关文章
网络爬虫之抓取邮箱
import java.util.regex.Matcher; import java.util.regex.Pattern; /* 抓取邮箱号码 */ public class Demo7 { public static void ma...
1992 0
通用磨坊大中华区信息技术总监叶挺为您解读
2018中国消费品CIO峰会将于3月28日-29日在上海召开,本次论坛将以“未来已来——CIO如何为企业创新赋能”为主题,围绕“数字化工厂”“智能制造”“大数据、云计算、移动应用与信息安全”三大技术专场展开交流分享。
1291 0
利用Python网络爬虫采集天气网的实时信息—BeautifulSoup选择器
        相信小伙伴们都知道今冬以来范围最广、持续时间最长、影响最重的一场低温雨雪冰冻天气过程正在进行中。预计,今天安徽、江苏、浙江、湖北、湖南等地有暴雪,局地大暴雪,新增积雪深度4~8厘米,局地可达10~20厘米。
1121 0
【转】零基础写Java知乎爬虫之进阶篇
转自:脚本之家   说到爬虫,使用Java本身自带的URLConnection可以实现一些基本的抓取页面的功能,但是对于一些比较高级的功能,比如重定向的处理,HTML标记的去除,仅仅使用URLConnection还是不够的。
1001 0
网络爬虫(1)
参考:http://www.cnblogs.com/dongkuo/p/4851735.html   算法分析     我们现在从需求中提取关键词来逐步分析问题。     首先是“种子节点”。它就是一个或多个在爬虫程序运行前手动给出的URL(网址),爬虫正是下载并解析这些种子URL指向的页面,从中提取出新的URL,然后重复以上的工作,直到达到设定的条件才停止。
868 0
网络爬虫--之爬起校招信息代码
记得去年10月份那会儿,正是校招高峰期,北邮人和水木上的校招信息特别多,各种企业都在疯狂地刷屏。   于是每天我都要经常打开北邮人和水木的招聘信息版块,一页一页地筛选我所关注的公司和职位的校招信息,却仍然会漏掉一些重要的校招信息。   重复的事情做久了,就有了自动化的想法。   于是当时我写了一个小爬虫给自己用,选择爬取北邮人和水木的招聘信息版块,爬虫会根据自定义关键字(如“应届”、“校招
762 0
php 防止爬虫设置
php代码如图所示:
1480 0
+关注
阿尔法胖哥
资深数据产品专家,人工智能探索者。
165
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载