通用网络信息采集器(爬虫)设计方案
来源:互联网 发布:卸妆 知乎 编辑:程序博客网 时间:2024/06/06 19:25
一、引言
Heritrix3.X与1.X版本变化比较大,基于此带来的Extractor定向扩展方法也受到影响,自定义扩展方面因为接口的变化受阻,从而萌生了通用网络信息采集器设计的想法。一直没有一个好的网络信息采集器,必须能够适应下载对象的多样性和下载内容的复杂性。比如需要同时下载100多家主流媒体的新闻信息,并解析入库等。本文围绕通用网络信息采集器的设计展开。
二、需求分析
一个好的网络爬虫必须满足通用性、多任务、定向性和可扩展性。
通用性是指可以满足不同格式下载对象的下载,如HTML、JS、PDF等等;多任务是指同时可以执行多个下载任务,即不同的网络站点;定向性是指可以根据自己的业务需求定向下载,即只下载自己关注的网页,其他无关页面自动过滤掉。比较好的是开源社区有很多可用的资源,比较不好的是能同时满足以上需求的软件非常少,好在Heritrix3.X就是能够满足的之一,不过需要自己编写代码,扩展Extrator,实现其定向下载。
三、架构设计
以下部分是期待中网络信息采集器的逻辑架构。如下图所示:
每一个目标任务代表一个下载渠道,比如sina、sohu等,下载规则负责URL过滤,只下载满足规则的内容,比如新闻;解析规则负责已经下载下来的内容的过滤,只选择我想要的东西,比如新闻标题、内容、评论等;元数据规则定义数据入库规则,任务与元数据规则关联实现自动入库。
四、成果展现
博客园躺着中枪了,以我个人的技术博客作为下载目标,以下部分展现的是我通过定向扩展后的下载结果:
P文件夹中的内容,代表具体的网页:
五、遗留问题
1.URL发现是否有必要独立,单独做成工具,根据入口网址+过滤规则,输出待下载对象的URL地址?当前采用的模式是复合式,逻辑上分离,物理上耦合。
2.如何实现增量下载和循环运行,当前任务启停是通过人工干预。需要改进。
- 通用网络信息采集器(爬虫)设计方案
- 网络爬虫,网络信息采集,java Application程序设计
- 简单的图片采集器(网络爬虫原理)
- 爬虫--网络数据采集
- 【Python网络爬虫】python网络数据采集读书笔记(第一章)
- 一个信息采集器(小爬虫)的实例和优化
- 网络爬虫采集数据几个问题
- 网络采集器Demo:Jsoup+Java多线程实现[爬虫](上)
- 网络采集器Demo:Jsoup+Java多线程实现[爬虫](下)
- 八大爬虫采集器
- 如何使用爬虫采集58招聘信息
- 通用网络采集系统的开发实验
- 网络爬虫介绍及数据采集
- 网络爬虫的采集,处理,存储
- Python网络数据采集-创建爬虫
- python网络爬虫-采集整个网站
- python网络爬虫-通过互联网采集
- FPGA高速采集设计方案
- DSS源码分析--对RTSP请求的状态机处理机制
- 使用OpenSSL API安全编程
- 吴立德教授深度学习课程笔记
- Java对文件和文件夹操作的一些方法
- mysql5.1.51在嵌入式开发板上的移植总结
- 通用网络信息采集器(爬虫)设计方案
- JAVA面向接口的编程思想与具体实现
- 曾参阅的博客链接
- vmware 在win7无法桥接到无线网卡的原因
- 创建商业思维导图的便利工具有哪些
- 计算机的简单发展历程----程序员的自身修养
- 集线器,路由器,交换机的作用和区别是什么?如何区分交换机,集线器,路由器?
- PHP 获取服务器当前时间
- android 中view 的OnTouchListener和OnClickListener的区别