简述数据采集软件(转自oschina)
2013-04-05 20:30
239 查看
采集软件实际是属于网络爬虫一类,只不过不像爬虫那样是通过分析网页来进行数据索引采集的,采集软件是通过用户定义的规则来进行数据采集的。当前我们可以把采集软件的用途划分为三类(这个类别是我自己分的,不一定准确):
1、专用的内容采集软件,此类软件主要是用于文章、博客、论坛数据的采集,在此方面也做了大量的优化,配置比较简单,同时软件也内置了常用的规则(因为大家建此类站点的开源系统或免费系统也是这些)。总的来说此类软件在文章采集方面确实很灵活,很方便;
2、 通 用型的采集软件,此类软件采集的范围更加广泛,配置规则也非常灵活,可以说此类软件可以采集任意网站的数据。但由于此类软件是属于通用性的数据采集,所以 规则配置起来较为复杂,但如果掌握了此类软件的应用,可以说是非常有用的,甚至可以使用这种软件建立属于自己的垂直搜索引擎爬虫。
3、 其他专业应用:在此我仅发现了两种应用:舆情监督和企业信息查询。实际此类软件的核心也是爬虫技术,只不过封装了一层业务规则,用于其它用途,实际除此之外还可以做更多应用,Rss阅读器,Rss网站制作等等,这方面有待于更多网友的发现;
网站数据之所以可以采集,是因为,首先数据是明文的,即你可以看到网页的代码数据,其次,是有一定规则的,至少是要遵循html规范的;再次,这种数据的获取是一件很容易的事情,而不需要利用更加复杂的技术来实现,譬如:网络监控技术,最重要的一点,这种软件开发成本不高,且应用广泛。
但尽管如此,采集软件还是具备一定的技术难度:
1、 采集的性能:既然是采集数据,那么在单位时间内,采集的数量越大对于用户而言,效益也就越大,所以,但凡是采集软件,基本上都采用了多线程技术。多线程本身并不复杂,但如何将采集任务真正的实现合理划分,这个还是有点难度的。当前影响采集性能的最主要因素应该是带宽;
2、 采 集规则的制定:就像前面所说,采集软件的规则是有用户来定的,所以,采集规则的制定就需要用户来完成,而采集规则无非就是在网页代码中需找一些合理的标识 符号,来告诉软件改如何进行数据提取。但对于很多用户而言,这些技术是不太好掌握的。所以就出现了一类可视化采集的软件,但可视化采集只是解决了一部分问 题,对于那些使用Ajax等特殊技术的一些网站,可视化采集就无能为力了。要想解决这个问题,就又必须引入HTTP嗅探器技术,通过嗅探器实现对数据的监控,找到真实的Url,在进行可视化分析,这样一来真个实现难度就大大提升了。
3、 采集数据的处理:采集下来的数据是要用的,但往往采集下来的数据格式各异,甚至还带有很多干扰的乱码,所以就需要对其进行加工,最理想的方式是采集下来通过用户设定的规则直接将数据加工成需要的格式。但理想和现实是有差距的,而且很多时候这个差距还是蛮大的。
4、 为了使软件好用,在以上的内容基础上,采集软件还会增加一些更加丰富的功能,譬如:定时任务,增量采集等等。但这些并不复杂,实现起来也相对容易
1、专用的内容采集软件,此类软件主要是用于文章、博客、论坛数据的采集,在此方面也做了大量的优化,配置比较简单,同时软件也内置了常用的规则(因为大家建此类站点的开源系统或免费系统也是这些)。总的来说此类软件在文章采集方面确实很灵活,很方便;
2、 通 用型的采集软件,此类软件采集的范围更加广泛,配置规则也非常灵活,可以说此类软件可以采集任意网站的数据。但由于此类软件是属于通用性的数据采集,所以 规则配置起来较为复杂,但如果掌握了此类软件的应用,可以说是非常有用的,甚至可以使用这种软件建立属于自己的垂直搜索引擎爬虫。
3、 其他专业应用:在此我仅发现了两种应用:舆情监督和企业信息查询。实际此类软件的核心也是爬虫技术,只不过封装了一层业务规则,用于其它用途,实际除此之外还可以做更多应用,Rss阅读器,Rss网站制作等等,这方面有待于更多网友的发现;
网站数据之所以可以采集,是因为,首先数据是明文的,即你可以看到网页的代码数据,其次,是有一定规则的,至少是要遵循html规范的;再次,这种数据的获取是一件很容易的事情,而不需要利用更加复杂的技术来实现,譬如:网络监控技术,最重要的一点,这种软件开发成本不高,且应用广泛。
但尽管如此,采集软件还是具备一定的技术难度:
1、 采集的性能:既然是采集数据,那么在单位时间内,采集的数量越大对于用户而言,效益也就越大,所以,但凡是采集软件,基本上都采用了多线程技术。多线程本身并不复杂,但如何将采集任务真正的实现合理划分,这个还是有点难度的。当前影响采集性能的最主要因素应该是带宽;
2、 采 集规则的制定:就像前面所说,采集软件的规则是有用户来定的,所以,采集规则的制定就需要用户来完成,而采集规则无非就是在网页代码中需找一些合理的标识 符号,来告诉软件改如何进行数据提取。但对于很多用户而言,这些技术是不太好掌握的。所以就出现了一类可视化采集的软件,但可视化采集只是解决了一部分问 题,对于那些使用Ajax等特殊技术的一些网站,可视化采集就无能为力了。要想解决这个问题,就又必须引入HTTP嗅探器技术,通过嗅探器实现对数据的监控,找到真实的Url,在进行可视化分析,这样一来真个实现难度就大大提升了。
3、 采集数据的处理:采集下来的数据是要用的,但往往采集下来的数据格式各异,甚至还带有很多干扰的乱码,所以就需要对其进行加工,最理想的方式是采集下来通过用户设定的规则直接将数据加工成需要的格式。但理想和现实是有差距的,而且很多时候这个差距还是蛮大的。
4、 为了使软件好用,在以上的内容基础上,采集软件还会增加一些更加丰富的功能,譬如:定时任务,增量采集等等。但这些并不复杂,实现起来也相对容易
相关文章推荐
- 组态软件实现RFID设备数据采集
- 多路视频数据实时采集的软件实现
- 淘宝咸鱼APP宝贝数据采集工具软件原理
- 全网软件:高级信息搜索数据采集软件 InfoSeek & FastSeek
- 现场打印智能无线PDA安卓POS 条码识别、打印、数据采集销售开单收银管理软件
- 数据采集的开源软件
- 在无密码的账号下设置计划任务,定时关闭和启动数据采集软件,避免软件被关闭或持续运行下内存占用过高
- 实时数据采集传输软件LDM安装
- 图形建模, 矢量图编辑, 科学分析VC++源代码, 数据采集与显示组件库, 软件, VC++源代码
- 实时数据采集传输软件LDM QA
- VibraCapture: 简单的振动数据采集分析软件
- 实时数据采集传输软件LDM配置
- 实时数据采集传输软件LDM配置
- 开源纯C#工控网关+组态软件(七)数据采集与归档
- EM2040D数据采集软件SIS使用过程中图像实时显示问题(三)
- 淘宝天猫店铺数据采集软件
- EEGLAB直接读入Curry8软件采集的数据信号
- 比古数据采集器 - 关于数据采集软件的一点思路 .
- AD数据采集的“数字滤波”:10个“软件滤波程序”
- 如何不写代码通过爬虫软件采集表格数据