中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)29-6876-04
Abstract: With the development of Internet technology and the growing of online e-text, in the face of Internet flood of information, government agencies, enterprises and research institutions are eager to obtain valuable information related to their work..So how to obtain the information quickly and easily becomes critical. According to predefined rules crawl,this article realize the fast crawl of mineral resource-related information based on visual C ++. The research emphasis of this paper is to study a Web-based technology automatically crawl mineral resources market, by analyzing the web page source code to extract the useful and valid data.
Key words: Information crawl; C++; Web Technology
随着Internet技术的不断发展和网上电子文本的日益增多,面对互联网海量的信息,政府机关、企事业单位和研究机构都迫切希望获取与自身工作相关的有价值的信息,如何方便快捷地获取这些信息变得至关重要。如果采用原始的手工收集方式,费时费力且毫无效率,面对越来越多的信息资源,劳动强度和难度可想而知[1]。因此,现代的政府和企业都迫切需要一种能够提供高质量和高效运作的互联网信息获取系统。
本文以监测抓取Internet信息为目的,实现在用户自定义规则下,自动从互联网中抓取指定信息。抓取的信息可存入独立数据库或通过接口发送至其他系统,用于内部使用或外网发布,实现信息及时全面地共享。
1 互联网数据获取过程
互联网数据获取一般是指从行业权威或专业的网站上获取具有针对性强、专业性高、准确度大的数据信息,并按照特定的数据抓取规则和数据过滤条件进行数据信息获取,最后将获取到的数据存
储到数据库中的一个过程[2]。随着互联网的广泛应用,网络信息爆炸式的不断增长,各个网站几乎每天都在进行着数据的更新,这使得互联网数据具有海量性、动态性的特征。因为互联网中的数据信息以多种格式的方式存在,例如:文本、图片、声音、视频等格式,这样使得各站点的信息和组织结构具有一定的差异性,形成一种非完全结构化或半结构化的数据结构。所以对目标数据的定位与访问就需要根据具体网页的实际组织结构特点进行具体的获取分析。数据获取过程一般概括为以下步骤:
1) 确定需要抓取信息的目标网址。首先需要找到确定抓取数据的目标网址,对目标网址的页面结构与数据元素进行具体分析,同时判断目标网址数据抓取的可行性和难度及数据的可靠性、准确性。一般确定抓取数据的网址都是在行业内比较专业或权威的网站,但有时也需要规避一些有防范措施的网站,例如:限定某一IP地址对页面的访问时间与访问次数、用javascript脚本语言加密的网页内容等。
2) 分析目标网址的页面内容及其组织结构,确定数据的抓取规则。因为网页是一种半结构化文档,除了包含大量的数据信息之外,还包含大量的非文本数据信息和其它多媒体数据信息。所以在抓取目标数据之前一定要先了解目标网页上数据的组织结构特点,以确定目标数据项的抓取规则[3]。一般是通过查看目标网页的源文件对网页的数据组织结构进行详细分析。一般从三个方面具体分析:①目标网址URL规则,分析网址的命名是否有一定规律可循,一般目标网址的URL会是固定不定的网址,但有些网址会是在浏览具体内容时随时更改的,这就是常说的动态网址,没有规律可循。②网页组织结构,分析目标网页源文件中的内容组织结构,确定采用哪种方式取得目标数据源文件数据块代码。③具体数据,分析如何从数据块中获取具体数据项。
3) 通过第三方数据抓取软件或者编程,抓取目标数据。可以借助第三方的数据抓取软件按照一定规则对目标数据进行抓取,也可以选择一种熟悉的语言进行编程开发,按照事先设计好的抓取规则对目标数据进行抓取。
4) 使用SQL Server或Oracle数据库对抓取到的数据进行存储。有些行业数据具有一定的研究价值,这时可能就会需要对抓取到的数据进行本地化存储,以便于随时对数据进行分析研究。
2 互联网矿产资源数据采集特点
1) 数据量大、数据类型多。矿产资源行情数据更新频率高,一般需要每天重复的获取行情数据信息。如果采用传统的人工方式获取数据会浪费大量的时间和人力,并且准确率低。
2) 实时性强、准确度高。为了确保矿产资源价格行情评估的准确性,企业要求获取到的矿产数据具有实时性强、准确性高的特点。另外,矿产数据具有一定的时效性,可以反映近期的矿产行情市场变化,为企业的决策提供科学的、有效的依据。
3) 以文本和数值型数据为主。互联网中矿产资源行情数据主要对价格、涨跌等数值或文本信息进行获取分析,一般不需要图片、视频等多媒体数据格式[4]。
4) 针对矿产行业权威网站进行数据采集。为了保证数据抓取的可靠性、准确性、及时性等特点,需要访问矿产行业内比较权威的站点进行数据采集,使获取的矿产行情数据更具有说服力。
5) 获取的目标网址一般有两种类型。①静态网址,目标网址是固定不变的网址,可根据需要自由访问。②动态网址,这一类的网址是在浏览具体页面内容时动态生成的或者是加密的网址,这时我们就需要先找到一个固定的网址入口,从这一入口着手,采用广度优先搜索方法找到具体的内容所在的目标网址。
3 关键技术
在复杂的网络环境下,为了及时获取矿产资源行业信息,需要一种实时的、定期的采集友好网页相关信息的技术服务,以便于掌握矿产行业最新的资源行情动态信息。该文主要采用的关键技术如下:
1) 信息抓取技术
在信息抓取技术的实现中,主要包括数据获取和信息提取这两个方面。而信息获取技术的最终目的是获得矿产资源行业信息。因此,在复杂的网络环境及冗余的网页信息中,提取并分离目标信息是非常关键的内容。互联网中常见的网页格式有html、xml、asp、php、jsp等,但不管采用哪种格式,它们都是通过HTTP协议将数据传输到客户端浏览器的。在网页信息获取技术的实现中,需要
借助数据抓取软件或编程,依据规则抓取有用数据。按照数据块、数据行和数据字段三个层次对数据进行提取并解析[5]。该文通过向目标网址发送HTTP请求,取得目标网址的Html源码, 采用关键词截取的方式从Html源码中获取目标数据。
2) WEB技术
Web技术是一种典型的分布式应用结构。Web应用中的信息交换涉及到客户端和服务端[6]。因此,Web开发技术主要包括客户端技术和服务端技术。
① Web客户端技术
Web客户端技术主要功能是对数据库中存储的信息进行友好展示。该文采用的主要技术有:HTML语言、JavaScript语言、CSS样式、ExtJS、插件技术等。
② Web服务端技术
Web服务端技术主要功能是处理客户端提交的用户请求。该文采用的主要技术包括服务器技术、Asp技术、Asp.NET技术等。
4 抓取技术在矿产行业的应用
1) 首先确实需要抓取的目标网址,并判断目标数据的可靠性及抓取的可靠性、难度及抓取规则。
目标网址一般是能够提供大量矿产资源信息网站的网址。如果目标网址是静态的,就可以按具体网址访问;但有些目标网址是打开具体页面时动态生成的网址,这时候就需要提供一个静态的网址入口,进入具体内容所在的列表页网址,再通过列表页网址进入到具体的内容页面。由于网页是半结构化文档,除了数据内容之外,还会包括大量格式和其它多媒体信息[7]。所以抓取前一定要先了解目标网页数据的结构特点,确定目标数据的抓取规则。抓取规则包括:页面的目标网址、关键词的指定、地区参数的限定等。由于各个网站的规则不同,所以要根据具体网站具体分析。在抓取结果页面中通常能得到以下有用信息:结果条目、结果页数、结果网址(即矿产资源所在网址)。
2) 自动身份认证。
矿产资源网站中大部分允许外界自由访问,但也有极少数的会员制收费网站,需要会员输入用户名和密码登录后才能访问矿产资源行情信息。
为了获取这些矿产资源行情信息首先需要模拟登录网站。实现方法如下:该文使用C++编程语言采用Session、Cookie技术通过HTTP协议向目标网站发送验证请求,目标网站根据发送的用户名、密码进行验证,验证成功表示允许访问网站矿产资源行情信息[8]。
5 结束语
通过信息抓取技术可以大幅度地提高矿产企业获取行业最新信息的效率,节省行业信息收集、存储、挖掘的相关费用,也是提高企业核心竞争力的关键。同时也为矿产企业决策部门和管理层提供便捷、多途径的企业战略决策工具。提高企业整体分析研究能力、市场快速反应能力,建立起以知识管理为核心的“行业知识库”,提高核心竞争力。节约信息采集的人力、物力、时间,提高办公效率。
参考文献:
[1] 胡立明.因特网信息抓取的研究与探讨[J]. 黑龙江科技信息,2010(9).
[2] 兰秋军.互联网金融数据抓取方法研究[J].计算机工程与设计,2011,32(5).
[3] 李凌飞周萍.基于农产品商务网站的价格数据抓取及数据分析技术研究[J].甘肃科技,2011(19):21-26.
[4] 丁宝琼.网络文本信息采集分析关键技术研究与实现[D].郑州:解放军信息工程大学,2009.
[5] 翁岩青.网页抓取策略研究[D].哈尔滨:哈尔滨工程大学,2010.
.计算机工程,2003(17).
[7] 王汉贤.网络书目信息抓取系统的设计与实现[J].图书馆学研究,2010(12):32-36.
[8] 唐波.网络爬虫的设计与实现[J].电脑知识与技术,2009(11).