1.本发明属于互联网数据处理技术领域,特别涉及一种网页信息自动采集方法及系统。
背景技术:2.随着internet的迅速发展,web信息的急速膨胀,在给人们提供丰富信息的同时,又使人们在对它们的有效使用方面面临一个巨大的挑战。因此,基于web的信息采集、发布和相关的信息处理日益成为人们关注的焦点。
3.传统的web信息采集的目标就是尽可能多地采集信息页面,甚至是整个web站点上的资源,而在这一过程中,需要有一定技术背景的工程师,对目标网站进行分析,配置抓取规则,可能涉及到分页规则、内容页规则等诸多页面的dom结构,并且目标网站的模板可能会经常进行升级改版,这就要求工程师重新去分析他的dom结构,配置规则。这种方式耗时、耗力,时效性还差,采集到的信息不完整、采集过程不稳定等问题。
技术实现要素:4.为此,本发明提供一种网页信息自动采集方法及系统,通过设置不同行业的网站模板库来实现根据目标网址、dom结构来配置抓取规则,进而实现自动依据抓取规则来抓取目标信息的全自动化信息采集。
5.按照本发明所提供的设计方案,提供一种网页信息自动采集方法,包含如下内容:
6.收集不同行业网页信息,构建用于设置抓取规则的网站模板库,其中,抓取规则依据网页信息进行设置待匹配内容,该网页信息至少包含页面层级、网页源代码、dom结构及分页规则;
7.依据网页采集请求对目标网站进行分析,提取目标网站采集请求的数据对象;
8.将提取的数据对象与网站模板数据库中对应网站模板的抓取规则进行匹配,依据匹配结果采集目标网页数据。
9.作为本发明中网页信息自动采集方法,进一步地,依据网页url链接中字符规律或网页源代码内容,通过分隔符或定位符来设置抓取规则中网页待匹配内容。
10.作为本发明中网页信息自动采集方法,进一步,针对抓取规则中的待匹配内容,通过设置唯一性标识进行内容定位和规则配置。
11.作为本发明中网页信息自动采集方法,进一步,规则配置包含:设置逻辑表达式、正则匹配或css选择符。
12.作为本发明网页信息自动采集方法,进一步地,抓取规则中还包含:针对采集目标网页数据为零情形的纠偏内容,其中,该纠偏内容通过重新分析目标网站页面信息来循环调整抓取规则中设置的待匹配内容,直至抓取到网页数据为止。
13.作为本发明网页信息自动采集方法,进一步地,依据网页采集请求,通过目标网站url链接来获取目标网站信息,以提取目标网站采集请求的数据对象。
14.作为本发明网页信息自动采集方法,进一步地,通过目标网站url链接获取目标网站信息的同时,设置对应网页采集请求的抓取时间和/或抓取频率。
15.进一步地,本发明还提供一种网页信息自动采集系统,包含:构建模板模块、目标分析模块和数据抓取模块,其中,
16.构建模板模块,用于收集不同行业网页信息,构建用于设置抓取规则的网站模板库,其中,抓取规则依据网页信息进行设置待匹配内容,该网页信息至少包含页面层级、网页源代码、dom结构及分页规则;
17.目标分析模块,用于依据网页采集请求对目标网站进行分析,提取目标网站采集请求的数据对象;
18.数据抓取模块,用于将提取的数据对象与网站模板数据库中对应网站模板的抓取规则进行匹配,依据匹配结果采集目标网页数据。
19.本发明的有益效果:
20.本发明根据目标网址、dom结构来配置抓取规则,当用户使用时,可按照要求输入请求信息,例如通过输入目标网址、抓取时间、频率等,自动匹配模板库对应的抓取规则等数据,自动抓取目标网页的数据内容,实现目标网页信息的全自动化信息采集,解放人力资源,提高网页采集的工作效率,且能够保证抓取结果的完整性、抓取过程的稳定性及抓取内容的时效性,具有较好的应用前景。
附图说明:
21.图1为实施例中网页信息自动采集流程示意;
22.图2为实施例中网页源代码内容示意。
具体实施方式:
23.为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
24.针对第三方网页采集,尤其一些要采集的网页布局复杂、内容动态加载、分页列表地址规律不明显、抓取页面内容等情形时,没有唯一特征的通用方案的情形,本发明实施例,参见图1所示,提供一种网页信息自动采集方法,包含:
25.s101、收集不同行业网页信息,构建用于设置抓取规则的网站模板库,其中,抓取规则依据网页信息进行设置待匹配内容,该网页信息至少包含页面层级、网页源代码、dom结构及分页规则;
26.s102、依据网页采集请求对目标网站进行分析,提取目标网站采集请求的数据对象;
27.s103、将提取的数据对象与网站模板数据库中对应网站模板的抓取规则进行匹配,依据匹配结果采集目标网页数据。
28.本案实施例中,可针对不同行业,建立海量模板库,通过模板库存储目标网站的页面层级、网页源代码、dom结构、分页规则等。进而当用户使用时,可只需要输入目标网址、抓取时间、频率等请求内容即可,通过自动匹配找到模板库对应的抓取规则等数据实现目标网页数据对象的自动抓取,效率高,灵活性好。
29.进一步地,本案实施例中,依据网页url链接中字符规律或网页源代码内容,通过分隔符或定位符来设置抓取规则中网页待匹配内容。进一步,针对抓取规则中的待匹配内容,通过设置唯一性标识进行内容定位和规则配置。
30.例如:列表页链接为:
31.http://xx/news/shxw/zqsk/index_1、/2、3
……
shtml,可发现规律链接中最后的数字在逐一递增,则可在起始url的文本框中则输入http://xx/news/shxw/zqsk/index_${1:+}.shtml。如果链接中的数字是递减,例如${9:-}。
32.又如:详情页的链接为:
33.http://xx/s/qg/2015-10-19/doc-ifxivscc0178885.shtml
34.http://xx/s/qg/2015-10-19/doc-ifxiwazu5595286.shtml
35.http://xx/s/qg/2015-10-17/doc-ifxivsch3667038.shtml
36.通过上述的三个详情页连接,可发现规律链接是从倒数第二段字符串开始发生改变的,则url的匹配文本框中则输入http://xx/s/qg/${c}/${b}.shtml,其中${a}起到分隔符的作用,以便忽略网页中无用的部分;${c}或者${b}则是起到定位作用,是抓取的程序代码能准确识别跳转到详情页的url,以便能解析到网页不同层级需要的内容。
37.又,如图2中的网页源文件截图,可通过配置为:
38.${title:#title}
39.${a}
40.${content:#artibody}
41.${a}
42.${pubdate:.wzinfo}
43.通过上述配置,即可以抓取到想要的标题、正文和发布时间等内容。
44.进一步,本案实施例中,规则配置包含:设置逻辑表达式、正则匹配或css选择符。
45.定位需要抓取网页的分页地址url,找到分页地址url和当前所在页码的关系。打开需抓取页面的详情页,定位新闻标题、发布时间、作者、来源、正文内容所在网页源代码里的唯一性标识。利用支持逻辑表达式、正则或者css选择符(如:“#”、“.”等)的规则配置,以便能准确定位到要抓取的内容。配置要抓取的目标页面的分页数量,是否通过ajax等前端技术实现的异步数据加载,是否同时下载图片、附件等,是否过滤网页的其他无效链接等。进一步,可通过配置定时来实现系统的自动抓取。通过以上的步骤内容,可适配目标网页的各种复杂情况。
46.本案实施例中,进一步地,抓取规则中还包含:针对采集目标网页数据为零情形的纠偏内容,其中,该纠偏内容通过重新分析目标网站页面信息来循环调整抓取规则中设置的待匹配内容,直至抓取到网页数据为止。通过设置纠偏内容来调整抓取规则失效时的目标数据获取情形,此过程也可通过人工来干预,实现目标网页数据对象采集中的自动纠错调整。进一步地,依据网页采集请求,通过目标网站url链接来获取目标网站信息,以提取目标网站采集请求的数据对象。可设置对应网页采集请求的抓取时间和/或抓取频率,以满足面对不同抓取对象或时效要求时的请求。
47.进一步地,基于上述的方法,本发明实施例还提供一种网页信息自动采集系统,包含:构建模板模块、目标分析模块和数据抓取模块,其中,
48.构建模板模块,用于收集不同行业网页信息,构建用于设置抓取规则的网站模板库,其中,抓取规则依据网页信息进行设置待匹配内容,该网页信息至少包含页面层级、网页源代码、dom结构及分页规则;
49.目标分析模块,用于依据网页采集请求对目标网站进行分析,提取目标网站采集请求的数据对象;
50.数据抓取模块,用于将提取的数据对象与网站模板数据库中对应网站模板的抓取规则进行匹配,依据匹配结果采集目标网页数据。
51.通过分析网站使用的前端技术、页面层级,有效数据在网页中的标记等来建立目标网站模板库;从目标网站的网页源代码中过滤无效标签和内容,自动分析标签层级和标签属性。
52.根据标签层级和标签属性,系统自动生成匹配表达式,举例:
53.//*[@id="thread_list"]/li/div/div[2]/div[1]/div[1]/a,其中表达式中的“*”代表任意字符,“@id="thread_list"”代表标签的id属性值为thread_list,“/”代表紧邻的下级标签,“div[2]”代表紧邻的下级第二个div标签,“a”代表最终要取值的标签。
[0054]
当原来的规则抓取不到数据时,也可通过设置自动纠错程序,通过启动自动纠错程序,分析页面结构,直到能抓取到数据为止,在此过程中,也可以进行人工干预,以满足实际网页信息采集中的应用。
[0055]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
[0056]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0057]
结合本文中所公开的实施例描述的各实例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已按照功能一般性地描述了各示例的组成及步骤。这些功能是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不认为超出本发明的范围。
[0058]
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如:只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
[0059]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护
范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
技术特征:1.一种网页信息自动采集方法,其特征在于,包含如下内容:收集不同行业网页信息,构建用于设置抓取规则的网站模板库,其中,抓取规则依据网页信息进行设置待匹配内容,该网页信息至少包含页面层级、网页源代码、dom结构及分页规则;依据网页采集请求对目标网站进行分析,提取目标网站采集请求的数据对象;将提取的数据对象与网站模板数据库中对应网站模板的抓取规则进行匹配,依据匹配结果采集目标网页数据。2.根据权利要求1所述的网页信息自动采集方法,其特征在于,依据网页url链接中字符规律或网页源代码内容,通过分隔符或定位符来设置抓取规则中网页待匹配内容。3.根据权利要求1或2所述的网页信息自动采集方法,其特征在于,针对抓取规则中的待匹配内容,通过设置唯一性标识进行内容定位和规则配置。4.根据权利要求3所述的网页信息自动采集方法,其特征在于,规则配置包含:设置逻辑表达式、正则匹配或css选择符。5.根据权利要求1所述的网页信息自动采集方法,其特征在于,抓取规则中还包含:针对采集目标网页数据为零情形的纠偏内容,其中,该纠偏内容通过重新分析目标网站页面信息来循环调整抓取规则中设置的待匹配内容,直至抓取到网页数据为止。6.根据权利要求1所述的网页信息自动采集方法,其特征在于,依据网页采集请求,通过目标网站url链接来获取目标网站信息,以提取目标网站采集请求的数据对象。7.根据权利要求6所述的网页信息自动采集方法,其特征在于,通过目标网站url链接获取目标网站信息的同时,设置对应网页采集请求的抓取时间和/或抓取频率。8.一种网页信息自动采集系统,其特征在于,包含:构建模板模块、目标分析模块和数据抓取模块,其中,构建模板模块,用于收集不同行业网页信息,构建用于设置抓取规则的网站模板库,其中,抓取规则依据网页信息进行设置待匹配内容,该网页信息至少包含页面层级、网页源代码、dom结构及分页规则;目标分析模块,用于依据网页采集请求对目标网站进行分析,提取目标网站采集请求的数据对象;数据抓取模块,用于将提取的数据对象与网站模板数据库中对应网站模板的抓取规则进行匹配,依据匹配结果采集目标网页数据。9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口、存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,并在程序执行时实现权利要求1~7任一项所述的方法步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~7任一项所述的方法步骤。
技术总结本发明属于互联网数据处理技术领域,特别涉及一种网页信息自动采集方法及系统,通过收集不同行业网页信息,构建用于设置抓取规则的网站模板库,其中,抓取规则依据网页信息进行设置待匹配内容,该网页信息至少包含页面层级、网页源代码、DOM结构及分页规则;依据网页采集请求对目标网站进行分析,提取目标网站采集请求的数据对象;将提取的数据对象与网站模板数据库中对应网站模板的抓取规则进行匹配,依据匹配结果采集目标网页数据。本发明根据目标网址、DOM结构来配置抓取规则,实现目标网页全自动化信息采集,解放人力资源,提高网页采集的工作效率,且能够保证抓取结果的完整性、抓取过程的稳定性及抓取内容的时效性,具有较好的应用前景。好的应用前景。好的应用前景。
技术研发人员:高军涛 张阳光 何文欢 刘德超 左洪强 姚金龙 谷晶中
受保护的技术使用者:山谷网安科技股份有限公司
技术研发日:2022.07.08
技术公布日:2022/11/1