一种网站数据爬取方法及装置与流程

文档序号:14870630发布日期:2018-07-06 23:08阅读:189来源:国知局
技术简介:
本发明针对传统网页爬虫抓取数据效率低、准确性差的问题,提出基于URL正则表达式权重筛选的爬取方法。通过标准化处理URL,提取正则表达式并计算权重,构建权重关系表,优先抓取高权重URL,有效减少无效抓取量,提升数据获取效率与精准度。
关键词:网站数据爬取,正则表达式权重

本发明涉及计算机技术领域,具体涉及一种网站数据爬取方法及装置。



背景技术:

随着互联网的快速发展,它已经变成了世界上规模最大的公共数据源,而且其规模还正在不停的增长着。从其中包含的内容看,互联网上存在众多的通过超链接方式链接在一起的网页信息。

随着搜索引擎的流行,网络爬虫已经成为了很普及的网络技术。但面对不断增长的海量信息,如何能够及时有效、更精准的爬取尽可能多有价值的网络资源,成为了各大搜索引擎公司一直致力解决的问题。

现有的网站数据爬取方法缺乏有效的内容预分析和过滤,爬取的无关主题网页过多,成为限制爬虫效率的瓶颈。由于待爬取的网站存在较多的外链接、广告宣传、活动等其他非重要的信息,这些非重要信息很容易使爬虫陷入其中,降低了爬取的效率和准确性。



技术实现要素:

本发明实施例提供一种网站数据爬取方法及装置,用于解决现有的网站数据爬取方法效率和准确性低的问题。

本发明实施例提供了一种网站数据爬取方法,包括:

根据预设的规则对待爬取的网站数据进行处理,所述待爬取的网站数据包括多个统一资源定位符url,获取各个统一资源定位符url的正则表达式;

根据所述各个统一资源定位符url的正则表达式获取各个统一资源定位符url的权重值,获取待爬取的统一资源定位符url的正则表达式权重关系表;

根据所述正则表达式权重关系表获取目标待爬取的网站数据,对所述目标待爬取的网站数据进行爬取。

可选地,所述方法还包括:

将预先保存的统一资源定位符url的正则表达式权重关系表与所述待爬取的统一资源定位符url的正则表达式权重关系表进行合并;

根据合并后的正则表达式权重关系表更新所述预先保存的统一资源定位符url的正则表达式权重关系表‘

相应地,所述根据所述正则表达式权重关系表获取目标待爬取的网站数据包括:

根据合并后的正则表达式权重关系表获取目标待爬取的网站数据。

可选地,所述根据所述各个统一资源定位符url的正则表达式获取各个统一资源定位符url的权重值,包括:

将具有相同统一资源定位符url的正则表达式的统一资源定位符url进行合并;

根据具有同一统一资源定位符url的正则表达式的统一资源定位符url的数量获取各个统一资源定位符url的权重值。

可选地,所述根据预设的规则对待爬取的网站数据进行处理包括:

用通配符替换各个统一资源定位符url中符合预设规则的字符串。

可选地,所述根据所述正则表达式权重关系表获取目标待爬取的网站数据,包括:

将所述正则表达式权重关系表按照权重值进行降序排列,选取降序排列后的正则表达式权重关系表中权重值排在前面预设位数的目标正则表达式;

获取各个目标正则表达式对应的目标待爬取的网站数据。

本发明实施例提供了一种网站数据爬取装置,包括:

正则表达式获取单元,用于根据预设的规则对待爬取的网站数据进行处理,所述待爬取的网站数据包括多个统一资源定位符url,获取各个统一资源定位符url的正则表达式;

关系表获取单元,用于根据所述各个统一资源定位符url的正则表达式获取各个统一资源定位符url的权重值,获取待爬取的统一资源定位符url的正则表达式权重关系表;

爬取单元,用于根据所述正则表达式权重关系表获取目标待爬取的网站数据,对所述目标待爬取的网站数据进行爬取。

可选地,还包括:

合并单元,用于将预先保存的统一资源定位符url的正则表达式权重关系表与所述待爬取的统一资源定位符url的正则表达式权重关系表进行合并;

更新单元,用于根据合并后的正则表达式权重关系表更新所述预先保存的统一资源定位符url的正则表达式权重关系表相应地,所述爬取单元用于:

根据合并后的正则表达式权重关系表获取目标待爬取的网站数据。

可选地,所述关系表获取单元进一步用于:

将具有相同统一资源定位符url的正则表达式的统一资源定位符url进行合并;

根据具有同一统一资源定位符url的正则表达式的统一资源定位符url的数量获取各个统一资源定位符url的权重值。

可选地,所述正则表达式获取单元进一步用于:

用通配符替换各个统一资源定位符url中符合预设规则的字符串。

可选地,所述爬取单元进一步用于:

将所述正则表达式权重关系表按照权重值进行降序排列,选取降序排列后的正则表达式权重关系表中权重值排在前面预设位数的目标正则表达式;

获取各个目标正则表达式对应的目标待爬取的网站数据。

本发明实施例提供的网站数据爬取方法及装置,将待爬取的网站数据进行标准化处理,所述待爬取的网站数据包括多个统一资源定位符url,获取各个统一资源定位符url的正则表达式;根据所述各个统一资源定位符url的正则表达式获取各个统一资源定位符url的权重值,获取待爬取的统一资源定位符url的正则表达式权重关系表;根据正则表达式权重关系表获取目标待爬取的网站数据,对所述目标待爬取的网站数据进行爬取。本发明实施例在对待爬取的网站数据进行爬取之前,根据各个统一资源定位符url的权重值对待爬取的网站数据进行筛选,确保目标待爬取的网站数据为网站的重要信息,降低了待爬取的统一资源定位符url的数量,提高了爬取效率,同时提高了爬取的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例的网站数据爬取方法的流程示意图;

图2是本发明一个实施例的网站数据爬取装置的结构示意图;

图3为本发明一个实施例的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明一个实施例的网站数据爬取方法的流程示意图。如图1所示,该实施例的方法包括:

s11:根据预设的规则对待爬取的网站数据进行处理,所述待爬取的网站数据包括多个统一资源定位符url,获取各个统一资源定位符url的正则表达式;

需要说明的是,网站为了方便管理内容信息,通常会对网站数据进行归类。而这些不同的归类信息,又会体现在统一资源定位符url上。举例来说,新浪的某篇新闻url为:http://news.sina.com.cn/c/nd/2016-10-14/doc-ifxwvpaq1279526.shtml,某篇咨询案例url为:http://sea.sina.com.cn/case.php?act=info&id=81,某个广告url为:http://sina.allyes.com/main/xxxxxx,某篇帮助文档url为:http://help.sina.com.cn/comquestiondetail/view/1530/,显而易见,对于一个大型的门户网站,其数据量最多、最有价值的是新闻,而非其他的咨询案例、广告、帮助文档等辅助内容。新闻才是新浪网站的重要信息,才是定向爬虫应该或者优先爬取的内容。

s12:根据所述各个统一资源定位符url的正则表达式获取各个统一资源定位符url的权重值,获取待爬取的统一资源定位符url的正则表达式权重关系表;

需要说明的是,本发明实施例将具有相同统一资源定位符url的正则表达式的统一资源定位符url进行合并;根据具有同一统一资源定位符url的正则表达式的统一资源定位符url的数量获取各个统一资源定位符url的权重值。

在实际应用中,每个统一资源定位符url正则表达式的初始权重值设为1(也可以为其他值),形成一个由多个[正则表达式:权重值:待爬取url值]项组成的列表(待爬取的统一资源定位符url的正则表达式权重关系表),如[‘正则表达式1:权重值1:待爬取url值1’,‘正则表达式2:权重值2:待爬取url值2’,‘正则表达式3:权重值3:待爬取url值3’...]。

s13:根据所述正则表达式权重关系表获取目标待爬取的网站数据,对所述目标待爬取的网站数据进行爬取;

本发明实施例提供的网站数据爬取方法,在对待爬取的网站数据进行爬取之前,根据各个统一资源定位符url的权重值对待爬取的网站数据进行筛选,确保目标待爬取的网站数据为网站的重要信息,降低了待爬取的统一资源定位符url的数量,提高了爬取效率,同时提高了爬取的准确性。

进一步地,所述方法还包括:

将预先保存的统一资源定位符url的正则表达式权重关系表与所述待爬取的统一资源定位符url的正则表达式权重关系表进行合并;根据合并后的正则表达式权重关系表更新所述预先保存的统一资源定位符url的正则表达式权重关系表;

相应地,所述根据所述正则表达式权重关系表获取目标待爬取的网站数据包括:

根据合并后的正则表达式权重关系表获取目标待爬取的网站数据。

需要说明的是,本发明实施例的预先保存的统一资源定位符url正则表达式权重关系表中保存了多次爬取网站数据获得的统一资源定位符url正则表达式和权重值的对应关系,表征了网站的重要信息,权重值较大的统一资源定位符url的内容为网站的重要信息。

可理解的是,本发明实施例将将预先保存的统一资源定位符url的正则表达式权重关系表与所述待爬取的统一资源定位符url的正则表达式权重关系表进行合并处理,根据合并后的正则表达式权重关系表获取目标待爬取的网站数据,剔除了网站的非重要信息。具体地,本发明实施例对待爬取的网站数据进行标准化处理过程采用如下的正则表达式提取规则:连续的数字、数字和字母混合、数字和特殊字符混合、字母和特殊字符混合要被替换成通配符,如以符号代替。可理解的是,这种提取规则使待爬取的网站数据能够在计算权重过程中最大程度的被标准化,更关注url前部与决定爬取是否相关的部分。待爬取的网站数据中的多个统一资源定位符url对应的正则表达式如表1所示:

表1统一资源定位符url对应的正则表达式

以下以具体的例子说明本发明实施例根据所述各个统一资源定位符url的正则表达式获取各个统一资源定位符url的权重值的过程:

先从表1中取出第一条记录,用该条记录的正则表达式项和其他剩下的记录的正则表达式项相匹配(是否完全一致的比较),匹配上一个,则该url正则表达式的权重+1,匹配不上,则权重值不变。

表2正则表达式比较匹配表

如表2所示,取第一条记录,依次和其他的记录进行比较。比较规则:如果正则表达式相同,则权重累加。与第1条记录正则表达式相同的是第4条、第8条、第10条记录,则累加后,权重值为4。

接着从表1中取出第二条记录,重复进行正则表达式的比较匹配(注意匹配范围是本条记录之外的其他记录,也包含取出过的第一条记录),依次类推递归处理,直至把表1中的记录条数处理完。

例如取第二条记录,依次和其他的记录进行比较(从第一条记录开始比较)。比较规则:如果正则表达式相同,则权重累加。与第2条记录正则表达式相同的是第6条、第9条,则累加后,权重值为3。

最后得到一个经过比较处理的[正则表达式,权重值,待爬取url值]的列表,如表3所示,再对这个列表按照正则表达式、权重值两项进行替重,同时替重时把待爬取url值项合并。

表3去重前的待爬取的统一资源定位符url的正则表达式权重关系表

例如,取第三条、第四条……,直到取完第十条(示例中有十条,以实际待爬取url为准)记录,进行上述规则的比较。比较规则:如果正则表达式相同,则权重累加。最后得到待爬取的统一资源定位符url的正则表达式权重关系表,如表4所示:

表4待爬取的统一资源定位符url的正则表达式权重关系表

进一步地,在所述根据合并后的正则表达式权重关系表获取目标待爬取的网站数据之前,所述方法还包括:

将合并后的正则表达式权重关系表按照权重值进行降序排列。

在实际应用中,从数据库redis中读取预先保存的统一资源定位符url正则表达式权重关系表,如表5所示。加载入内存中和本轮处理完的待爬取的统一资源定位符url的正则表达式权重关系表,进行合并、排序,得到一个按照权重值降序排列的列表,如表6所示。

表5预先保存的统一资源定位符url正则表达式权重关系表

表6合并后的正则表达式权重关系表

进一步地,所述根据合并后的正则表达式权重关系表获取目标待爬取的网站数据,包括:

选取降序排列后的正则表达式权重关系表中权重值排在前面预设位数的目标正则表达式;

获取各个目标正则表达式对应的目标待爬取的网站数据。

可理解的是,在降序排列的合并后的正则表达式权重关系表中取topm个(例如4个)记录,把这些记录相对应的待爬取url值保存入redis中,成为本次筛选过滤后,最终待爬取的网站数据,如表7所示。

表7目标待爬取的网站数据

在实际应用中,保留的topm记录条数和爬虫机器共爬取的url总数n值成反比例函数,即刚开始爬取时,样本url比较少时,要保留较多的topm记录;当爬虫爬取的url总数很多时,这时已经经过训练的样本url很多了,可保留较少的topm记录。

进一步地,为了保证对待爬取的网站数据的准确过滤,所述方法还包括:

根据合并后的正则表达式权重关系表更新所述预先保存的统一资源定位符url的正则表达式权重关系表。

举例来说,根据表6更新表5,得到更新后的预先保存的统一资源定位符url的正则表达式权重关系表,如表8所示。

表8更新后的预先保存的统一资源定位符url正则表达式权重关系表

图2是本发明一个实施例的网站数据爬取装置的结构示意图。如图2所示,本发明实施例的装置包括正则表达式获取单元21、关系表获取单元22和爬取单元23,具体地:

正则表达式获取单元21,用于根据预设的规则对待爬取的网站数据进行处理,所述待爬取的网站数据包括多个统一资源定位符url,获取各个统一资源定位符url的正则表达式;

关系表获取单元22,用于根据所述各个统一资源定位符url的正则表达式获取各个统一资源定位符url的权重值,获取待爬取的统一资源定位符url的正则表达式权重关系表;

爬取单元23,用于根据合并后的正则表达式权重关系表获取目标待爬取的网站数据,对所述目标待爬取的网站数据进行爬取。

本发明实施例提供的网站数据爬取装置,在对待爬取的网站数据进行爬取之前,根据各个统一资源定位符url的权重值对待爬取的网站数据进行筛选,确保目标待爬取的网站数据为网站的重要信息,降低了待爬取的统一资源定位符url的数量,提高了爬取效率,同时提高了爬取的准确性。

可选地,还包括:

合并单元,用于将预先保存的统一资源定位符url的正则表达式权重关系表与所述待爬取的统一资源定位符url的正则表达式权重关系表进行合并;

更新单元,用于根据合并后的正则表达式权重关系表更新所述预先保存的统一资源定位符url的正则表达式权重关系表;

相应地,所述爬取单元用于:

根据合并后的正则表达式权重关系表获取目标待爬取的网站数据。

关系表获取单元22进一步用于:

将具有相同统一资源定位符url的正则表达式的统一资源定位符url进行合并;

根据具有同一统一资源定位符url的正则表达式的统一资源定位符url的数量获取各个统一资源定位符url的权重值。

可选地,正则表达式获取单元21进一步用于:

用通配符替换各个统一资源定位符url中符合预设规则的字符串。

爬取单元23进一步用于:

将所述正则表达式权重关系表按照权重值进行降序排列,选取降序排列后的正则表达式权重关系表中权重值排在前面预设位数的目标正则表达式;

获取各个目标正则表达式对应的目标待爬取的网站数据。

本发明实施例的网站数据爬取装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。

图3为本发明一个实施例的电子设备的实体结构示意图。

参照图3,电子设备包括:处理器(processor)31、存储器(memory)32和总线33;其中,

处理器31和存储器32通过总线33完成相互间的通信;

处理器31用于调用存储器32中的程序指令,以执行上述各方法实施例所提供的网站数据爬取方法。

此外,上述的存储器32中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的网站数据爬取方法。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的网站数据爬取方法。

本发明实施例提供的网站数据爬取方法及装置,将待爬取的网站数据进行标准化处理,所述待爬取的网站数据包括多个统一资源定位符url,获取各个统一资源定位符url的正则表达式;根据所述各个统一资源定位符url的正则表达式获取各个统一资源定位符url的权重值,获取待爬取的统一资源定位符url的正则表达式权重关系表;根据正则表达式权重关系表获取目标待爬取的网站数据,对所述目标待爬取的网站数据进行爬取。本发明实施例在对待爬取的网站数据进行爬取之前,根据各个统一资源定位符url的权重值对待爬取的网站数据进行筛选,确保目标待爬取的网站数据为网站的重要信息,降低了待爬取的统一资源定位符url的数量,提高了爬取效率,同时提高了爬取的准确性。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

需要说明的是术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!