信息采集系统的技术实现

优采云 发布时间: 2020-08-12 21:53

  最近公司要做个页面信息采集的东西,没哪些好的思路,所以在网上找了点东西,学习一下。

  信息采集系统指的是按标准格式采集指定网路信息,同搜索引擎的区别在于其采集的目的性更强,采集源范围也比较小。这里简单介绍一下信息采集系统实现上的几个关键问题:

  1) 采集网页数据

  VC,Java,VB的网路通信功能都足够实现信息采集,VC中的Get/Post方法可采集网页信息,也可以直接用socket形式采集,但通常用前一 种模式,另外为了提升采集效率都采用多线程技术,在网上的一些Spider程序都是多线程的,可以借鉴.

  2) 如何按关键字来信息

  信息采集的一大特征是按多个关键字将信息分拆下来,例如供求信息中的商机标题、联系 人、电话、Email、内容等,实现时须要事先定义好这种关键字,然后在网页中搜索,将夹在两个关键字当中的信息采集出来,另外还要注意,网页中的许多关 键字是收录空格的,空格数目也不能确定,例如"邮 件",这就要求在查找关键字时要把关键字按单个汉字拆开来匹配,遇到中间的空格要跳过去.这一步实现了,信息都会变的十分有规则,也就可以导出本地库了.

  3) 网页中的链结获取算法

  了解HTML的应当清楚,网页中的链结都是通过的标签定义的,但也会分好多情况,例如: 这是常见的链结格式,但要注意采集出来的链结可能是完整的,也可能是相对路径,要分别处理; 用单冒号分隔的,所以用算法获取链结的时侯要按照双引号和单冒号两种标记来分隔; 通过javascript的函数处理链结,算法上就麻烦了许多。

  4) 无效数据的过滤

  即使通过关键字的形式抛开了许多广告信息,但在关键字信息中也会有不少无效数据,包括一些信息开头的空格

  5) 特定数据的获取算法

  Email,电话等数据符合一定的规范,一般可以用一些算法提取下来,也可以 用正则表达式技术来获取,在网路上有不少这种算法.在信息采集中,Email和电话等关键信息是比较分散的,需要用提取算法把这种信息提取下来放到正确的 位置.这是十分有必要的,因为信息采集系统常常会有短信群发的功能.

  信息采集的整个流程可总结如下:

  a) 首先,获取网页的完整信息

  b) 用算法获取网页中的正文信息,即抛弃HTML的标签文本

  c) 去除多余的空行

  d) 按定义好的关键字将信息分隔开

  e) 对信息进行无效数据过滤

  f) 信息入本地库

  g) 获取网页中的链结,对该链结从a)步骤开始重复,但注意网页中的许多链结是广告或无效的,因此要事先定义好一些链结关键字,只有收录关键字的链结才处理

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线