本发明涉及网页技术领域,具体而言,涉及一种友情链接的获取方法和装置。
背景技术:
友情链接是在一个网站上放置其他网站的超链接,使得用户可以从该网站跳转至其他网站。对于友情链接的获取通常具有较为重要意义。例如,在网络爬虫的应用中,往往需要提供用于网络爬虫爬取的链接,其中,友情链接可以作为用于爬取的链接。
目前,对于友情链接的获取是通过人工查找的方式获取的。例如,在网络爬取应用中,对于政府网站的爬取,往往需要对全国所有的政府网站逐个进行查找,再利用搜索引擎通过人工查看的方式检测查找的友情链接是否正确。该方法对于数量较小的友情链接的获取是容易实行的,但是在需要爬取大批量的网站的情况下,上述方法将耗费大量时间及人力成本。
针对相关技术中获取友情链接的效率较低的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明的主要目的在于提供一种友情链接的获取方法和装置,以解决获取友情链接的效率较低的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种友情链接的获取方法。
根据本发明的友情链接的获取方法包括:获取第一网页内容,其中,第一网页内容为第一网页的内容;对第一网页内容进行解析,得到多个第一链接和多个第一位置,其中,多个第一链接为第一网页中包含的多个网页链接,多个第一位置分别为多个第一链接在第一网页上的位置;检测多个第一链接中包含的链接是否可组成第一链接集合,其中,第一链接集合中包含的链接为数量达到第一预设数量的、位置上连续的、层级数均为1的链接;以及如果检测出多个第一链接中包含的链接可组成第一链接集合,则确定第一链接集合中包含的链接为第一网页的友情链接。
进一步地,第一网页所在网站的域名为第一域名,第一链接集合中包含的链接对应的网站域名非第一域名。
进一步地,第一链接集合中包含的链接包括第一目标链接,在确定第一链接集合 中包含的链接为第一网页的友情链接之后,该方法还包括:获取第二网页内容,其中,第二网页内容为第二网页的内容,第二网页为第一目标链接对应的网页;对第二网页内容进行解析,得到多个第二链接和多个第二位置,其中,多个第二链接为第二网页中包含的多个网页链接,多个第二位置分别为多个第二链接在第二网页上的位置;检测多个第二链接中包含的链接是否可组成第二链接集合,其中,第二链接集合中包含的链接为数量达到第二预设数量的、位置上连续的、层级数均为1的链接;以及如果检测出多个第二链接中包含的链接可组成第二链接集合,则确定第二链接集合中包含的链接为第二网页的友情链接。
进一步地,第二网页所在网站的域名为第二域名,第二链接集合中包含的链接对应的网站域名非第二域名。
进一步地,在确定第一网页的友情链接后,该方法还包括:将第一网页所在的深度作为当前深度;针对当前深度网页的友情链接中的各个链接,爬取各个链接对应的下一级深度网页的网页内容;解析下一级深度网页的网页内容,获取下一级深度网页的友情链接;将下一级深度网页所在的深度作为当前深度,继续执行针对当前深度网页的友情链接中的各个链接、爬取各个链接对应的下一级深度网页的网页内容的步骤。
进一步地,在获取下一级深度网页的友情链接之后,在将下一级深度网页所在的深度作为当前深度之前,该方法还包括:判断下一级深度的级数是否达到预设深度级数;其中,如果判断出下一级深度的级数未达到预设深度级数,则执行将下一级深度网页所在的深度作为当前深度的步骤。
进一步地,在获取下一级深度网页的友情链接之后,在将下一级深度网页所在的深度作为当前深度之前,该方法还包括:判断下一级深度网页的友情链接中是否存在之前爬取过的网页链接;如果判断出下一级深度网页的友情链接中存在之前爬取过的网页链接,则对下一级深度网页的友情链接中存在的之前爬取过的网页链接进行过滤,得到过滤后的友情链接,并将过滤后的友情链接作为下一级深度网页的友情链接。
进一步地,第一链接集合中的链接包括第二目标链接,在确定第一链接集合中包含的链接为友情链接之前,该方法还包括:确定第三域名,其中,第三域名为第二目标链接对应的网站域名;对第三域名执行搜索处理,得到搜索结果页;对搜索结果页的内容进行解析,得到搜索结果页中排在首位的搜索结果;以及判断排在首位的搜索结果对应的链接是否为第二目标链接,确定第一链接集合中包含的链接为第一网页的友情链接包括:如果判断出排在首位的搜索结果对应的链接为第二目标链接,则确定第二目标链接为友情链接。
进一步地,如果判断出排在首位的搜索结果对应的链接非第二目标链接,该方法 还包括:判断排在首位的搜索结果对应的内容是否为错误提示内容;确定第一链接集合中包含的链接为第一网页的友情链接包括:如果判断出排在首位的搜索结果对应的内容为错误提示内容,则确定第二目标链接为第一网页的友情链接。
为了实现上述目的,根据本发明的另一方面,提供了一种友情链接的获取装置。
根据本发明的友情链接的获取装置包括:第一获取单元,用于获取第一网页内容,其中,第一网页内容为第一网页的内容;第一解析单元,用于对第一网页内容进行解析,得到多个第一链接和多个第一位置,其中,多个第一链接为第一网页中包含的多个网页链接,多个第一位置分别为多个第一链接在第一网页上的位置;第一检测单元,用于检测多个第一链接中包含的链接是否可组成第一链接集合,其中,第一链接集合中包含的链接为数量达到第一预设数量的、位置上连续的、层级数均为1的链接;以及第一确定单元,用于在检测出多个第一链接中包含的链接可组成第一链接集合时,确定第一链接集合中包含的链接为第一网页的友情链接。
通过本发明,采用包括如下步骤的方法:获取第一网页内容,其中,第一网页内容为第一网页的内容;对第一网页内容进行解析,得到多个第一链接和多个第一位置,其中,多个第一链接为第一网页中包含的多个网页链接,多个第一位置分别为多个第一链接在第一网页上的位置;检测多个第一链接中包含的链接是否可组成第一链接集合,其中,第一链接集合中包含的链接为数量达到第一预设数量的、位置上连续的、层级数均为1的链接;以及如果检测出多个第一链接中包含的链接可组成第一链接集合,则确定第一链接集合中包含的链接为第一网页的友情链接,解决了获取友情链接的效率较低的问题,进而通过检测多个第一链接中包含的链接是否可组成第一链接集合,以及在检测出多个第一链接中包含的链接可组成第一链接集合时,确定第一链接集合中包含的链接为第一网页的友情链接,达到了提高友情链接的获取效率的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明第一实施例的友情链接的获取方法的流程图;
图2是根据本发明第二实施例的友情链接的获取方法的流程图;以及
图3是根据本发明实施例的友情链接的获取装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面根据本发明的实施例,提供了一种友情链接的获取方法。
图1是根据本发明第一实施例的友情链接的获取方法的流程图。如图1所示,该方法包括如下的步骤S102至步骤S108:
步骤S102,获取第一网页内容,其中,第一网页内容为第一网页的内容。
优选地,第一网页可以为域名级别较高的网站首页,例如,第一网页为中央人民政府网站的首页。该网页域名为较高级别的域名,该域名所对应的网站首页一般存在较多的低级别的友情链接。例如,在中央人民政府网站的首页中存在较多个地方政府网站的友情链接。
步骤S104,对第一网页内容进行解析,得到多个第一链接和多个第一位置,其中,多个第一链接为第一网页中包含的多个网页链接,多个第一位置分别为多个第一链接在第一网页上的位置。
在该步骤中,对第一网页内容进行解析可以获取第一网页中包含的所有的网页链接,以及每个网页链接在第一网页中的位置。其中,第一网页中包含的所有的网页链接包括链接到第一网页所在网站的其他网页的链接,也包括链接到其他网站的友情链接等。每个网页链接在第一网页中的位置可以是每个链接在第一网页上的坐标,或者也可以是各个网页链接在该网页上的相对位置。获取网页链接在网页上的位置是一种常规的技术手段,这里不再赘述。
例如,对中央人民政府网站的首页进行解析,可以获取该网页中包含的所有的网页链接,其中包括链接到该网站其他网页的链接以及链接到其他网站的友情链接等。比如,http://www.gov.cn/guowuyuan/2015-06/03/content_2872615.htm为链接到该网站其他网页的链接,http://www.hlj.gov.cn/为链接到其它网站的友情链接。
步骤S106,检测多个第一链接中包含的链接是否可组成第一链接集合,其中,第一链接集合中包含的链接为数量达到第一预设数量的、位置上连续的、层级数均为1的链接。
本发明的目的在于获取友情链接,通过该友情链接链接到的网页,可以获取更多的网站信息。由于对于一个网站而言,一般将友情链接集中设置于网页的某个区域,并且友情链接一般链接到其他网站的首页,因此链接的层级数为1。基于上述特点,本实施例中作为识别出的第一链接集合具有如下特征:包含的链接在位置上连续,链接的层级数为1,并且包含的链接的数量达到第一预设数量。
上述的第一预设数量可以为3或者4。本实施例不对第一预设数量的具体数值进行限定。
步骤S108,如果检测出多个第一链接中包含的链接可组成第一链接集合,则确定第一链接集合中包含的链接为第一网页的友情链接。
如果检测出多个第一链接中包含的网页链接具有在位置上连续、层级数为1、数量达到第一预设个数的特点,则可以认为上述链接所在的区域是该网页的友情链接区域,也即,可以将上述链接作为友情链接。
例如,假设第一预设数量为4。根据该实施例对中央人民政府网站首页进行分析,能够检测出其包含多个地方政府网站的友情链接,这些友情链接在位置上是连续的,层级数均为1,并且数量超过了4。将上述地方政府网站链接作为友情链接,可以获取更多地方政府网站的信息。
根据该实施例的友情链接的获取方法,由于包括上述的步骤S102至步骤S108,解决了获取友情链接的效率较低的问题,进而通过检测多个第一链接中包含的链接是否可组成第一链接集合,以及在检测出多个第一链接中包含的链接可组成第一链接集合时,确定第一链接集合中包含的链接为友情链接,达到了提高友情链接的获取效率的效果。
在一个优选的实施例中,第一网页所在网站的域名为第一域名,第一链接集合中包含的链接对应的网站域名非第一域名。
例如,第一网页为中央人民政府网站的首页,中央人民政府网站的域名为 www.gov.cn,即第一域名。如前所述,对第一网页解析得到的多个第一链接中包含多种类型的网页链接。为了进一步提高获取友情链接的准确性,本实施例将第一链接集合中包含的链接对应的网站域名非第一域名作为识别友情链接的一个特征。对一个网页中包含的链接到本网站的链接以及链接到其他网站的友情链接进行区别时,可以注意到,链接到本网站的链接对应的域名与本网站域名是相同的,而链接到其他的网站的链接对应的域名与本网站域名不同。但是,在一个网页上对应域名不同的链接,不一定是该网页的友情链接。因此,再综合考虑以下特点:友情链接一般集中设置于网页的某个区域,链接的层级数为1,以及友情链接区域的链接数量一般达到了预设数量,可以得到本实施例中第一链接集合的特征:包含的链接在位置上连续,链接对应的网站的域名不是第一域名,链接的层级数均为1,并且链接的数量达到第一预设数量。
在一个可选的实施例中,第一链接集合中包含的链接包括第一目标链接,在确定第一链接集合中包含的链接为第一网页的友情链接之后,该方法还包括:获取第二网页内容,其中,第二网页内容为第二网页的内容,第二网页为第一目标链接对应的网页;对第二网页内容进行解析,得到多个第二链接和多个第二位置,其中,多个第二链接为第二网页中包含的多个网页链接,多个第二位置分别为多个第二链接在第二网页上的位置;检测多个第二链接中包含的链接是否可组成第二链接集合,其中,第二链接集合中包含的链接为数量达到第二预设数量的、位置上连续的、层级数均为1的链接;以及如果检测出多个第二链接中包含的链接可组成第二链接集合,则确定第二链接集合中包含的链接为第二网页的友情链接。
在该实施例中,分别将第一网页中检测出的友情链接对应的网页内容作为新的检测对象,进行友情链接的检测。对于新的友情链接的检测的方式与上述实施例相同,这里不再赘述。
例如,对于中央人民政府网站的首页进行网页内容解析,可以获取其中包含的地方政府网站的链接,比如,河北政府网站链接、黑龙江政府网站链接等。对河北政府网站链接对应的网页(即河北政府网站首页)进行解析,进一步获取河北政府网站首页中包含的下一级别的政府网站链接,比如,河北石家庄政府网站链接。
需要说明的是,对于需要大量友情链接的情况,可以根据上述方法分层地获取友情链接。例如,对于政府网站友情链接的获取,可以首先在中央人民政府网站首页进行省级地方政府网站友情链接的提取,然后对省级地方政府网站友情链接对应的网页进行检测,提取市级地方政府网站友情链接,依次类推,最终可以获取省、市、县、镇等多级深度的网站链接,也即获取了大量的政府网站友情链接。该方法可以在很大程度上提高友情链接的获取效率。
在一个优选的实施例中,第二网页所在网站的域名为第二域名,第二链接集合中包含的链接对应的网站域名非第二域名。
在一个可选的实施例中,在确定第一网页的友情链接后,该方法还包括:将第一网页所在的深度作为当前深度;针对当前深度网页的友情链接中的各个链接,爬取各个链接对应的下一级深度网页的网页内容;解析下一级深度网页的网页内容,获取下一级深度网页的友情链接;将下一级深度网页所在的深度作为当前深度,继续执行针对当前深度网页的友情链接中的各个链接、爬取各个链接对应的下一级深度网页的网页内容的步骤。
在该实施例中,提出了网页深度的概念。下面为了便于理解,先举例加以说明。假设第一网页链接为中央政府网站首页链接,在中央政府网站首页中可获取到多个该网页的友情链接,多个该网页的友情链接为河北省网站首页链接以及黑龙江网站首页链接;在河北省网站首页以及黑龙江网站首页中还可分别获取到相应网页的友情链接,河北省网站首页中包括石家庄网站首页链接、廊坊网站首页链接,黑龙江网站首页中包括哈尔滨网站首页链接和大庆网站首页链接。这里,中央政府网站首页为第一级深度网页,北京市网站首页、河北省网站首页以及黑龙江网站首页为第二级深度网页(也即中央政府网站首页的下一级深度网页);石家庄网站首页、廊坊网站首页、哈尔滨网站首页和大庆网站首页为第三级深度网页,依次类推。在该实施例中,由于加入了网页深度的概念,使得获取网页友情链接的逻辑更加清晰,易于执行。并且,对于基于该逻辑获取的网页友情链接也更加易于管理。例如,可以按照网页深度对友情链接逐级进行存储。
在一个可选的实施例中,在获取下一级深度网页的友情链接之后,在将下一级深度网页所在的深度作为当前深度之前,该方法还包括:判断下一级深度的级数是否达到预设深度级数;其中,如果判断出下一级深度的级数未达到预设深度级数,则执行将下一级深度网页所在的深度作为当前深度的步骤。
为了提高友情链接的获取效率,可以预先设定一个执行友情链接获取时的网页深度级数的阈值,也即预设深度级数。在未达到预设深度级数之前,可以一直获取下一级深度的网页,并获取该网页中的友情链接,直到判断出达到预设深度级数为止。在上一个举例中,假设预设深度级数设置为3级,则只需要获取中央政府网站首页的友情链接、河北省网站首页和黑龙江网站首页的友情链接,以及石家庄网站首页、廊坊网站首页、哈尔滨网站首页和大庆网站首页的友情链接。
在一个可选的实施例中,在获取下一级深度网页的友情链接之后,在将下一级深度网页所在的深度作为当前深度之前,该方法还包括:判断下一级深度网页的友情链接中是否存在之前爬取过的网页链接;如果判断出下一级深度网页的友情链接中存在 之前爬取过的网页链接,则对下一级深度网页的友情链接中存在的之前爬取过的网页链接进行过滤,得到过滤后的友情链接,并将过滤后的友情链接作为下一级深度网页的友情链接。
在按照网页的深度级数逐级地获取友情链接的过程中,可能出现友情链接重复出现的情况。例如,网页1(对应链接1)中包括的友情链接为链接11、链接12至链接19(假设对链接11、链接12至链接19按照索引顺序依次进行爬取)。其中,链接11对应的网页为网页2,网页2中包括的友情链接为链接21、链接22至链接29以及链接1(上述链接组成友情链接集合1)。因此,在获取网页2中包括的友情链接时,为了避免对链接1重复进行爬取,需要先过滤掉链接1。同样地,对于链接12对应的网页3,其中,也可能出现已获取到的友情链接,因此,在爬取到链接12对应的网页内容后,根据本发明可以得到该网页内容中包含的友情链接(友情链接集合2),在对友情链接集合2进行爬取之前,需要先检测友情链接集合2中是否包括链接1、链接11、链接13至链接19以及链接11等已经爬取过的链接,如果包括,则需要将已经爬取过的链接从友情链接集合2中过滤掉,得到过滤后的友情链接2,并对过滤后的友情链接2中的链接分别进行爬取。该实施例能够避免友情链接的重复爬取(或者循环爬取),提高了友情链接的获取效率。
例如,链接1为http://www.gov.cn/,该链接对应的网页为网页1,根据本发明实施例获取到网页1中包括的友情链接为http://www.hebei.gov.cn/(链接11)、http://www.heilongjiang.gov.cn/(链接12)、http://www.liaoning.gov.cn/(链接13)、http://www.jilin.gov.cn/(链接14)。链接12对应的网页为网页2,根据本发明实施例获取到网页2中包括的友情链接为http://www.shijiazhuang.gov.cn/(链接21)、http://www.langfang.gov.cn/(链接22)、http://www.chengde.gov.cn/(链接23)、http://www.gov.cn/(链接1)、http://www.heilongjiang.gov.cn/(链接12)、http://www.liaoning.gov.cn/(链接13)。在对网页2中各个友情链接进行爬取之前,需要将网页2中的友情链接进行过滤处理,也即将先前已经获取到的链接1、链接11至链接14从网页2中的友情链接中剔除掉。在该示例中,需要将链接1、链接12、链接13过滤掉,对网页2包括的友情链接中其余的友情链接(链接21、链接22、链接23)执行爬取。
上述实施例中,在对友情链接进行爬取之前执行过滤处理,不仅能够提高友情链接的爬取效率,同时,在一些情况下有利于对友情链接进行分层管理。例如,在获取政府网站的友情链接的过程中,在各省级政府网站的友情链接中可能包括其他省级政府网站的友情链接以及更高级别政府网站的友情链接。在对各省级政府网站首页中的友情链接进行过滤处理之后,通常剩余的友情链接为该政府网站下一级别(市级)政府网站的友情链接。因此,在经过过滤处理之后,可以将政府网站的友情链接按照级 别高低进行分层管理。
在一种可选的实施例中,第一链接集合中的链接包括第二目标链接,在确定第一链接集合中包含的链接为友情链接之前,该方法还可以包括:确定第三域名,其中,第三域名为第二目标链接对应的网站域名;对第三域名执行搜索处理,得到搜索结果页;对搜索结果页的内容进行解析,得到搜索结果页中排在首位的搜索结果;以及判断排在首位的搜索结果对应的链接是否为第二目标链接,其中,如果判断出排在首位的搜索结果对应的链接为第二目标链接,则确定第二目标链接为友情链接。
为了进一步提高友情链接识别的准确性,可以在将第一链接集合中包含的网页链接添加至友情链接集合之前,对第一链接集合中的每个网页链接进行网页搜索,根据搜索结果判断对该友情链接的识别是否准确。一般来说,要获取的友情链接是搜索结果页的第一个搜索结果。在对第二目标链接进行准确性检测时,如果判断出搜索结果页的第一个链接为第二目标链接,则可以确定第二目标链接识别是准确的,因此确定其为友情链接。对于第一链接集合中其他的网页链接也可以利用同样的方法进行检验。
在上述实施例中,如果判断出排在首位的搜索结果对应的链接非第二目标链接,该方法还可以包括:判断排在首位的搜索结果对应的内容是否为错误提示内容,其中,如果判断出排在首位的搜索结果对应的内容为错误提示内容,则确定第二目标链接为友情链接。
对于一些网站来说,其部署在其他网站的友情链接可能是不准确的,比如,该网站更新了网址,而未对部署在其他网站的友情链接进行更新(更新了域名),因此,在对这些友情链接进行搜索时,在搜索结果页会出现错误提示内容。
例如,对于某个县级政府网站而言,其变更了域名,但是在它所属的市级政府网站中部署的友情链接却未进行更新。因此,在对该市级政府网站首页进行检测时,得到的该县级政府网站的友情链接是不存在能够链接到的页面的,也即在搜索结果页中会出现错误提示信息。
图2是根据本发明第二实施例的友情链接的获取方法的流程图。该实施例可以作为图1所示实施例的一种优选的实施方式。如图2所示,该方法包括如下的步骤S202至步骤S216:
步骤S202,获取最高等级政府网站首页的URL,其中,将该URL作为入口URL。
最高等级政府网站具有政府网站中最高级别的域名,例如,该最高级别的域名为www.gov.cn,即中央人民政府网。本实施例中最高等级政府网站首页所在的深度即为1级深度,对应第一实施例中的第一网页。
步骤S204,获取最高等级政府网站首页的网页内容。
步骤S206,对该网页内容进行解析,得到该网页的友情链接,即最高等级政府网站首页的友情链接。
获取最高等级政府网站首页的友情链接的步骤如下:
步骤S2061,提取最高等级政府网站首页中所有的URL链接;以及
步骤S2062,判断每个URL链接在网页位置上的连续性,如果在网页的某一区域内具有3个以上非本域名的一级URL,确定这个区域是一个友情链接区域。
下面对非本域名的一级URL进行说明。例如,在域名www.gov.cn对应的网站首页中,最下方下级URL链接区域中,分别包含链接http://www.beijing.gov.cn/、http://www.tj.gov.cn/、http://www.hebei.gov.cn/等。这3个网页链接的域名与www.gov.cn不同,并且各链接的层级数均为1。再根据这些链接在网页位置上的连续性,可以判断这是一个友情链接区域。可以设定在位置上连续的链接个数至少为3个或4个,也即,至少有3个或4个非本域名的一级URL的区域可认为是友情链接区域。
步骤S208,将最高等级政府网站首页所在的深度作为当前深度。
步骤S210,针对当前深度政府网页友情链接中的各个链接,爬取各个链接对应的下一级深度政府网页的网页内容。
步骤S212,解析下一级深度政府网页的网页内容,获取下一级深度政府网页的友情链接。
获取下一级深度政府网页友情链接的方式类似于获取最高等级政府网站首页的友情链接的步骤。
步骤S214,判断获取的下一级深度政府网页的深度级数是否达到预设深度级数。
步骤S216,如果判断出获取的下一级政府网页的深度级数未达到预设深度级数,则将下一级深度政府网页所在的深度作为当前深度,以下一级深度政府网页链接作为新的入口链接。
将上述获取的下一级深度政府网页的友情链接URL中的每个URL当成一个种子,进行更下一级深度政府网页的网页内容的获取。
后续重复执行步骤S210及其之后的步骤,直到判断出获取的政府网站的深度级数达到了预设深度级数。
若S214的判断结果为是,则可以结束整个流程。
由于按照上述步骤有可能会无限地进行下去,从而造成错误,因此,可以根据需求设置一个深度最大值。比如,中国分为省、市、县、镇等级别,那么可以设置预设深度级数为5,这样找到第五级深度政府网站的友情链接就不需要再继续获取了。
优选地,在获取到下一级深度政府网页的友情链接之后,在对该政府网页的友情链接集合进行爬取之前,需要将该下一级深度政府网页的友情链接集合中先前已经爬取过的网页链接进行滤掉,并将过滤后的友情链接作为下一级深度政府网页的友情链接,之后对过滤后的友情链接集合执行爬取。
对下一级深度网页友情链接的过滤可以在步骤S214之前,也可以在步骤S214之后、步骤S216与结束之前,或者与S214同时进行,均不影响最终的效果。
在获取到各级深度网页的友情链接之后,可以利用搜索引擎进行准确度校验。该过程在第一实施例中进行了说明,这里不再赘述。
根据该实施例的友情链接的获取方法,由于包括上述的步骤S202至步骤S216,解决了获取友情链接的效率较低的问题;提高了大量获取政府网站友情链接时的获取效率以及获取政府网站友情链接的准确度;并且由于增加了校验的机制,进一步提高了获取的政府网站友情链接的准确性。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
下面根据本发明的实施例,提供了一种友情链接的获取装置。
需要说明的是,根据本发明实施例的友情链接的获取装置可以用于执行根据本发明实施例的友情链接的获取方法,根据本发明实施例的友情链接的获取方法也可以通过本发明实施例的友情链接的获取装置来执行。
图3是根据本发明实施例的友情链接的获取装置的示意图。如图3所示,该装置包括:第一获取单元10、第一解析单元20、第一检测单元30和第一确定单元40。
第一获取单元10,用于获取第一网页内容,其中,第一网页内容为第一网页的内容。
第一解析单元20,用于对第一网页内容进行解析,得到多个第一链接和多个第一位置,其中,多个第一链接为第一网页中包含的多个网页链接,多个第一位置分别为多个第一链接在第一网页上的位置。
第一检测单元30,用于检测多个第一链接中包含的链接是否可组成第一链接集 合,其中,第一链接集合中包含的链接为数量达到第一预设数量的、位置上连续的、层级数均为1的链接。
第一确定单元40,用于在检测出多个第一链接中包含的链接可组成第一链接集合时,确定第一链接集合中包含的链接为第一网页的友情链接。
根据该实施例的友情链接的获取装置,由于包括上述的第一获取单元10、第一解析单元20、第一检测单元30和第一确定单元40,解决了获取友情链接的效率较低的问题,进而通过第一检测单元30检测多个第一链接中包含的链接是否可组成第一链接集合,以及在检测出多个第一链接中包含的链接可组成第一链接集合时,通过第一确定单元40确定第一链接集合中包含的链接为第一网页的友情链接,达到了提高友情链接的获取效率的效果。
在一种优选的实施例中,第一网页所在网站的域名为第一域名,第一链接集合中包含的链接对应的网站域名非第一域名。
在一种可选的实施例中,第一链接集合中包含的链接包括第一目标链接,该装置还包括:第二获取单元,用于获取第二网页内容,其中,第二网页内容为第二网页的内容,第二网页为第一目标链接对应的网页;第二解析单元,用于对第二网页内容进行解析,得到多个第二链接和多个第二位置,其中,多个第二链接为第二网页中包含的多个网页链接,多个第二位置分别为多个第二链接在第二网页上的位置;第二检测单元,用于检测多个第二链接中包含的链接是否可组成第二链接集合,其中,第二链接集合中包含的链接为数量达到第二预设数量的、位置上连续的、层级数均为1的链接;以及第二确定单元,用于在检测出多个第二链接中包含的链接可组成第二链接集合时,确定第二链接集合中包含的链接为第二网页的友情链接。
在一种优选的实施例中,该装置还包括:第三确定单元,用于将第一网页所在的深度作为当前深度;爬取单元,用于针对当前深度网页的友情链接中的各个链接,爬取各个链接对应的下一级深度网页的网页内容;第三解析单元,用于解析下一级深度网页的网页内容,获取下一级深度网页的友情链接;执行单元,用于将下一级深度网页所在的深度作为当前深度,继续执行针对当前深度网页的友情链接中的各个链接、爬取各个链接对应的下一级深度网页的网页内容的步骤。
在一种可选的实施例中,该装置还包括:第一判断单元,用于判断下一级深度的级数是否达到预设深度级数;其中,如果判断出下一级深度的级数未达到预设深度级数,则执行将下一级深度网页所在的深度作为当前深度的步骤。
在一种可选的实施例中,该装置还包括:第二判断单元,用于判断下一级深度网页的友情链接中是否存在之前爬取过的网页链接;过滤单元,用于在判断出下一级深 度网页的友情链接中存在之前爬取过的网页链接时,对下一级深度网页的友情链接中存在的之前爬取过的网页链接进行过滤,得到过滤后的友情链接,并将过滤后的友情链接作为下一级深度网页的友情链接。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。