何为导航?
上次讲到采集网址改如何配置,并如何通过参数的形式来进行网址的批量配置,从而简化配置
操作。今天来重点讲一下导航规则的配置。
通常情况下,我们配置的采集网址就是需要采集数据的网址。但还有一种情况就是采集的网址
无规律可循,通过参数无法实现成批网址的配置,但其又有一个共同的特点,就是其网址都存在于一个网页中(通常我们称之为导航页面或入口页面)。
举一个例子:采集某个网站的时政新闻。
新闻的网址如下:
http://news.********.com/politics/2010-07/03/c_12293464.htm
c_12293464为不同新闻的网址参数,但这个参数是无规律的,或者
是一种无法通过简单的方法就可以识别的一种规律,那该如何呢?我们总不能将所有需要采集新闻的网址都一个一个的添加到采集网址中。再仔细分析,我们会发现
所有的新闻都会以标题的形式在一个页面中展示出来,如下:
http://search.*******.cn/mb/xinhuanet/search/?pno=1&namespace=%2Fmb%2Fxinhuanet&siteid=1196&nodeid=113352&styleurl=http%3A%2F%2Fwww.xinhuanet.com%2Foverseas%2Fstatic%2Fstyle%2Fcss_erji.css&nodetype=3
打开这个页面,就可以看到我们需要采集的新闻标题及所需要配置的采集网址。
这个时候,我们就可以让软件自动获取需要采集的新闻的地址,只需要告诉软件从哪个页面获
取新闻地址就可以了。
这个过程就是导航,我们在对导航的概念做一个总结:导航就是通过软件配置一定的规则来获
取最终的采集网址。导航可能会有多个层次,也就是一层导航、二层导航,直至最终获取需要采集内容的网址。
导航规则的配置
通过导航的配置我们可以很容易的配置成百上千个需要采集的网址数据,甚至上万上百万上
亿。我们知道的搜索引擎(譬如:google、
百度)的核心网络爬虫,就是根据某种导航规则来搜索网址并建立网页快照,以供用户搜索使用。
所以,导航规则的配置是一个非常重要且有难度的工作。网络矿工提供了多种方式让用户快速
配置导航规则。下面我们将逐一介绍。
1、 简单网址导航:
既然称之为简单网址导航,就表示配置起来会很简单,呵呵。简单网址导航要求所有的网址都
具备一定的共性,还是以上面的例子分析:采集的网址是:http://news.********.com/politics/2010-07/03/c_12293464.htm,c_12293464为
变化参数,http://news.********.com/politics/2010-07/03/这
部分是不变的,这个就是导航网址的共性,在网络矿工中称之为相同部分,只要导航网址都具备相同的
部分,且相同部分是一个独立的可识别的网址,那么我们的导航规则就是这个相同部分。
注意:相同部分是唯一可识别的。
我们再举一个例子,将上面的网址做一个变形:
/politics/2010-07/03/c_12293464.htm,c_12293464为
变化参数,我们看一下这个网址,这个网址不是一个独立的网址,因为如果把这个网址直接拷贝到浏览器
的地址栏中是无法打开页面的,这是一个相对地址的网址,相对的地址就是:http://news.********.com,
所以说,这也是一个可独立识别的网址,尽管网址并不独立,但通过软件对相对地址的分析之后还是可
以获得一个独立的网址,那么这还是可以用相同部分来配置导航规则:/politics/2010-07/03/
总结:简单网址导航就是导航网址都具备一个相同的内容,且这个相同的内容是一个可识别的
网址,那么导航规则就是这个相同部分。
2、 复杂规则的配置
在网络矿工中如果通过第一种方式无法正确导航出需要采集的网址,只能通过第二种方式来进
行,即复杂导航。
复杂导航的核心实际就是通过网络矿工配置一个自由的正则表达式来实现对导航网址匹配,但
由于正则表达式比较复杂,不容易理解,所以,系统提供了一个正则表达式的生成工具来实现正则表达式的生成,并实现导航网址的匹配。
举例说
明:导航的网址是一个子域名,譬如:Url为:http://www.*****.com/*****,其
中导航网页为:http://news.*****.com/*****,此
时仅填写前缀已无法满足要求,就需要更复杂的导航规则。还是以刚才为例:http://
为导航前缀,由于news与www不同,则无需填写,系统会自动进行匹配:公共部分为:*****.com,后缀为网址结尾内容,注意是网址结尾部分,如
果结尾部分不同,则无需填写后缀,如果填写后缀,后缀必须是相同内容,如果没有后缀,系统进行自动匹配。
同时系统还提供了正则表达式的匹配,如果您了解正则表达式,则可以直接写正则,让软件根
据您提供的正则表达式进行匹配。
关于导航,系统提供了导航测试,导航范围的限定等多种方式来精确导航规则,甚至用户可以
对导航网址进行字符串的修改,最终的目的就是为了可以更加准确的获取导航网址,简化采集任务的配置。
关于导航配置,我们建议多进行实际操作。