一孑 posted on 六月 5, 2010 22:03

采集网站数据有一项重要的配置,就是配置采集规则中数据的起始位置和终止位置,即采集数据的前置标志和后置标志。

前面我们已经讲解过,采集数据,实际就是从网页的源代码中截取您想要的数据。任务网页的内容都可以通过“查看源代码”的方式,查看数据。网页代码就是一个文本内容。所以,要获取数据,就要告诉软件该从哪里截取数据,到哪里结束。这个就是采集数据起始位置和终止位置。

严格意义上,任何采集数据的起始位置和终止位置都必须是唯一的,只要这样,获取的数据才可以准确。如果采集的标识无法唯一,系统首先判断是否为采集多条数据,即所谓的循环采集。如果不是,将抛弃垃圾数据。但实际情况是,由于网页多种多样,所以很难做到采集标志的唯一,针对这种情况,系统也提供了处理方法,可以缩小网页源码的范围,或者限制采集的数据类型,来提高系统采集的精度。

对于采集数据的起始位置和终止位置的配置,我们进行了总结,并给与以下建议:

1、如果可以有唯一的标志,则尽可能的采用唯一标志,即便会采集到无用的数据,也要采用唯一的标志,如果采集到了无用数据则可以通过数据输出“去除网页代码”或“正则替换”等方法来去除多余数据:

举例:

<h1><a href="http://www.***.com/***.html"  target="_blank">#######</a><h1>

采集数据为#######,前置和后置标志可以设置为:target="_blank"> 和 </a> ,但由于在网页代码中此种标志会很多,容易造成采集过多的垃圾数据,所以可以将采集标志设置为:<h1> 和 </a></h1>,但此时会将<a href="http://www.***.com/***.html"  target="_blank">也采集到,所以,在数据输出时,设置“去除网页代码”,即可准确的采集此数据。

2、无唯一的起始位置,或无唯一的终止位置。很多时候采集的内容都会具备连接地址,还是以上面的例子说明

<h1><a href="http://www.***.com/***.html"  target="_blank">#######</a><h1>

其中连接地址会随内容的不同而发生变化,如果需要采集文本内容,则还是要按照上述方式进行,尽管处理的方法一样,但这是将采集范围扩大,然后再获取采集的数据。

3、采集了过多的数据,用户在设置起始和终止位置后,系统采集了很多无用的数据。此时,可以通过限定采集数据类型来缩小范围。

系统默认的匹配符号(可参见前面所讲的正则表达式培训内容)是.+? ,此类型为匹配所有类型的文本,但用户也可修改此类型来缩小匹配,譬如:只匹配数字、匹配时不能包含网页符号等等,这样就可以达到精确采集的目的。此内容在采集规则中,限定条件里设置。

4、多条记录的采集(循环采集)。系统并不明确表明当前的采集是否为循环采集。但系统会根据您设置的采集规则来自动判断,即将您设置的采集规则全部完成采集后,还会继续匹配,如果在后续的文本内容还可以完整的匹配出来,则系统就会自动执行循环采集。记住:是完整的匹配。

譬如:

<table>

<tr><td>1</td></tr>

<tr><td>2</td></tr>

</table>

如果设置采集标志为:<td>及</td> 系统在采集完成 1 之后,还会继续判断后续的内容是否包含 符合采集要求的数据,如果包含,则继续采集,此时就会将 2 也采集出来,并自动生成一个多条记录的表格。

5、相同采集标志的采集,这个需要用实例来说明

 <table>

<tr><td>1</td><td>2</td><td>3</td></tr>

<tr><td>4</td><td>5</td><td>6</td></tr>

</table>

 采集的数据是,1,2,3 一条记录 ,4,5,6第二条记录。此时,设置简单,只要设置三个重复的<td>及</td>,系统即可采集得到您想要的数据。

但如果只想采集 1,3 一条记录 4,6 第二条记录,如果设置两个重复的 <td>及</td> ,系统将无法获取得到,为什么?因为系统将无法实现完整匹配,记住,是完整匹配,上面介绍所说,所以,为了可以采集得到完整的数据,必须设置完整,还是以上的内容设置。

但对于多余的数据该如何处理呢?简单,在数据输出时取出无用的第二列,或者直接采用网络矿工的数据加工工具,删除多余列。再进行输出。

今天先讲这么多,如果大家有疑问,可以将正在配置的采集任务告知我们,我们做几个实例来讲解一下。此文同步发表到BBS。


Posted in: 在线培训 , 最新动态  Tags:
不允许评论

Blog Roll

    最新评论

    一孑工作室声明
    本站文章均为原创,如果转载请注明出处。

    © Copyright 2010『一孑工作室』
    管理我的网站
    京ICP备10018014号