网站采集器如何实现网站数据采集.doc_第1页
网站采集器如何实现网站数据采集.doc_第2页
网站采集器如何实现网站数据采集.doc_第3页
网站采集器如何实现网站数据采集.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网站采集器如何实现网站数据采集 入门篇网站采集,就是从网站页面中抽取指定的数据,人工方式就是打开网页然后开始Ctrl+C Ctrl+V的进行拷贝粘贴。人工方式采集数据最为准确,但效率最低。所以,期望计算机可以自动化的将人工操作执行,完成数据采集的工作。计算机将人工的Ctrl+C Ctrl+V自动化执行,需要一定的指导操作,譬如:计算机需要打开那个页面,拷贝哪些信息,将拷贝的信息又要粘贴到哪里?这些都是人工操作时必须制定的操作,转化到计算机,也必须知道计算机这样来进行。所以,需要配置一些规则来指导计算机的操作,这个规则的组合在网络矿工中我们称之为“采集任务”。通过上面的描述,我们知道采集任务中至少要包括网页地址、网页的拷贝数据的规则。网页的地址很容易理解,每次我们打开一个网站时,首先都是要输入一个地址,这个地址称之为“Url”,输入Url后,我们就可以浏览一个页面了。拷贝数据的规则:人工拷贝数据很简单,人工智能么,很容易识别需要采集的数据,但对于计算机,就会有些难度,计算机不知道想要采集什么数据?必须由人工告诉计算机采集数据的规则,譬如:我们需要采集文章标题,那么就需要告诉计算机如何在一个网页中识别文章标题,并准确的采集下来。在这个指导的过程中,有两种方式计算机可以理解(当然不排除还有其他的方式,譬如:计算机智能化):1、 按照字符串获取的规则来指导计算机采集数据:一个网页是由浏览器对一个大字符串进行解析后展示的结果,这个大字符串就是网页源码,任何浏览器都可查看网页源码,打开网页源码后,在网页源码中通常(注意:是通常)都可以找到网页显示的内容,自然文章标题也可以找到,找到文章标题后,告诉计算机要采集这个标题数据,规则就是:从哪个字符开始获取到那个字符结束,举个简单例子:“今天的天气很好啊”这样一个字符串,我们要获取“今天的天气很好啊”,就是告诉计算机从“”后面开始获取到“”结束,将中间的字符采集下来,计算机就会对这个字符串进行识别,并按照定制的规则将所需要的数据获取。采集数据,就是要配置这样的规则来指导计算机将网页数据逐一采集下来;2、 还有第二种方式来指导计算机采集数据:通常(注意:又是通常)情况网页的源码是一个XML文档。XML 定义:用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言(摘自:百度百科)。这我们就知道了,网页源码是一个结构化的、具有标记识别的一种文档。这样,我们就可以通过一种方式来标记我们需要采集的数据,让计算机自动寻找并获取数据,这种方式也就是我们常见的可视化采集。可视化采集的核心是XPath信息,XPath是XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。用XPath来制定文档某个位置的数据,让计算机来采集,这样也实现了我们指导计算机采集数据的需求;综上所述,我们也就可以理解网络采集器是如何采集数据的了。不过上面所讲,只是一个入门,因为我们只是在很常见常见的情况,指导计算机完成了一个页面数据的采集,这与我们实际的应用差距还很大,譬如:成批采集数据。后面我们还会逐步是深入进行讲解。 中级篇前面已经所讲,我们已经指导计算机完成了一个网页数据的采集,但对于我们实际需要来讲,我们肯定不止采集一个页面,而是要采集N多页面,对于N多个页面而言,使用计算机自动执行才有意义。对于N多个网页,我们不可能一个一个的去把Url告诉计算机,比如我们要采集上万个网页,难道要输入上万个Url,这也太不现实了。所以,我们只能找到这N多个网页的规则,用一种规则来让计算机自动解析完成N多个网页的构成。这种解析可以由集中方式:1、 按照一个可识别的规则解析,譬如:数字递增,字母递增或日期递增,举个例子:http:/www.*.com/article.aspx?id=1001,这是一个文章的Url,比较容易理解,id是url提交的参数,1001是一个参数值,代表一篇文章,那么我们就可以通过数字递增的形式来替代它,http:/www.*.com/article.aspx?id= Num:1001,1999,1 ,这样就完成了998篇文章url的构成,系统会自动将url解析出来,Num:1001,1999,1是一个数字递增的参数,从1001开始递增,每次递增加1,直至1999结束。在网络矿工中提供了很多这样的参数来帮助用户完成N多url的构成;2、 有些Url并不一定可以通过一定可识别的规则来构成,那该如何?譬如:http:/www.*.com/s.aspx?area=北京,这是一个带入了地区参数的Url,全国有众多的城市,总不能一个一个输入。针对这种Url,我们可以用字典参数,首先将全国城市数据获取(互联网有成批的这种数据文档,下载即可),建立在字典中,然后通过配置url完成这种貌似无规则url的构成,http:/www.*.com/s.aspx?area= Dict:城市,这个参数表示了使用字典:城市的值,这样也可以完成成批Url的构成;3、 按照网站的数据组织结构来成批配置Url,我们浏览一个网站是,通常是从网站的首页进入,而网站为了更好的让用户找到期望看到的信息,都会按照一定的分类结构对数据进行组织,并提供一个列表对数据进行展示,分类一般都是网站的频道,列表通常是一个频道下的列表(数据索引)页面,由于数据众多,这个页面可能会有翻页,也可能还会进行子类的划分。所以,我们可以通过这个方式进行成批Url的配置。这个配置的过程,在网络矿工中需要配置导航规则、翻页规则。a) 导航规则:导航就是从一个页面进入另外一个页面的操作,网站的首页就是一个导航页,首页会有很多的栏目入口,点击就可以进入各个栏目,导航就是让计算机自动进入每个栏目,导航可以有很多,代表的就是从一个导航页进入一个栏目,再进入一个子栏目,再进入一个详细的页面,如果详细页还需要提取更多的数据,那么还需要导航进入,就好像我们在浏览数据一样,从一个页面进入另一个页面,再进入一个页面,每个导航页都带有了大量的需要采集数据的url,系统会自动获取这些url来实现成批数据的采集;b) 翻页规则:当数据量大的时候,网站会提供翻页操作,很典型的就是新闻列表页,会有很多新闻,第一页一直到第N页,所以,为了可以获取第1页以后的数据,我们还需要告诉计算机如何翻页,这个就是翻页规则,让计算机就像我们浏览网页一样,一页一页翻,直至最后一页,将数据获取。上面讲到了如何成批的采集数据,在入门篇中也讲到了如何告诉计算机获取数据。但在实际的数据采集过程中,采集的数据质量可能并不一定可以满足我们的要求,譬如:带有了很多的无用网页信息,也可能我们在用规则匹配的时候会很难找到准确的起始采集的字符和终止采集的字符。下面我们在讲解一下采集数据规则匹配的一些技巧,和数据加工的操作,从而获取高质量的数据。根据用户规则采集数据的核心是正则表达式匹配,正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。正则在匹配(或者可以说是获取)字符串时是非常方便的,但其又很不容易理解,所以采集器才使用了界面化的配置方式让用户输入获取字符的起始位置和终止位置来自动构成一个正则表达式,进行数据的获取。不同的采集器核心对正则匹配的规则构成是不一样的,但以网络矿工为例,可以通过“测试采集”来了解正则的构成。了解了这个重要信息之后,我们就可以采用一些面向正则良好的信息来配置规则,甚至可以用正则通配符来提升采集数据的准确度,更甚可以自定义正则进行数据的匹配(一般都是高级用户来使用)。在此我们只是了解一下技术的构成,对实际的配置不做讲解了,这方面需要通过实际的案例不断的演练才可逐步掌握。关于采集数据加工是一项非常有必要且很重要的功能,采集的数据并不一定是我们想要的最终数据,举个例子:采集的文章正文,通常都会带有等标签,这些标签用于在数据展示的时候对数据进行格式化操作,但对于我们应用时,可能并不需要这些标签,那么我们可以通过“去除网页符号”来自动将这些标签去掉。或者我们只将一些文字修饰的标签去掉,但保留文章的段落标记,这样的数据我们更容易使用。通过数据加工操作,我们可以将数据进行二次处理,直至其最大化的复合我们的应用条件。 高级篇对于日常数据采集而言,掌握了以上的内容,可以说就已经可以完成独立的采集任务配置,并获取想要的高质量数据。但现实总是残酷的,当前众多网站为了可以获得更好的用户体验,或者说更好的保护自己,网站使用了众多的技术,这些技术的使用,无疑会给我们的采集工作带来巨大的障碍。在此我们对常见的一些问题进行简单的讲解。刚才讲到了,采集数据规则的匹配有两种方式:规则匹配和XPath路径匹配两种方式,但这两种方式都是基于我们在浏览网页源码时可以找到我们想要的数据。很多情况下,我们在浏览网页时可以看到数据,但查看源码时却无法找到需要采集的数据。这种情况通常是采用了:ajax或iframe,如果你使用的事firefox浏览器,可以在页面鼠标右击需要采集的数据,会弹出一个菜单,在菜单项中找是否有“此框架”的菜单项,如果有,那就是iframe,如果没有就是ajax。Ajax一种创建交互式网页应用的网页开发技术。使用js请求xml数据并展示到网页中,这个请求的数据是在网页中无法查询到的。遇到这种情况我们可以使用http嗅探器来查找js请求数据的url,这个网址就是我们需要采集数据的url。网络矿工内置了http嗅探器工具,可以使用其进行探测。可能我们还会遇到另外一种情况,url配置正确,采集的数据也可以通过网页源码看到,但实际采集的时候,却无法采集到数据或出现了错误。这种情况会遇到,但却比较少见。这种情况有可能需要配置两个信息:cookie和user-agent;部分网站即便是匿名访问系统也会分配一个cookie信息用户身份识别,User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。一些网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但通过伪装 UA 可以绕过检测(摘自百度百科)。无论是cookie还是user-agent都可以通过网络矿工

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论