一种基于网络爬虫的多级页面的级联爬取方法和设备技术

技术编号:22594781 阅读:47 留言:0更新日期:2019-11-20 11:07
本发明专利技术涉及一种基于网络爬虫的多级页面的级联爬取方法,包括如下步骤:抓取上级页面并将抓取到的数据存储在上级页面数据解析表中,在上级页面数据解析表中对需要继续抓取下级页面的对象设置主键值,各所述对象对应的主键值均不相同;抓取下级页面并将抓取到的数据存储在下级页面数据解析表中,并对该下级页面数据解析表设置外键值,从上级页面数据解析表中获取该下级页面对应的对象的主键值,然后将其作为所述下级页面数据解析表的外键值,从而实现抓取数据落地后上级网页和下级网页的关联查询。本发明专利技术是一种能够还原网页前后逻辑的数据采集模式,确保网页抓取的完整性且按原网页层级顺序存储数据,能够便捷地获取相关联的多层级页面数据。

A cascade crawling method and device for multi page based on Web Crawler

The invention relates to a cascade crawling method of a multi-level page based on a web crawler, which comprises the following steps: grabbing the upper level page and storing the captured data in the data analysis table of the upper level page, setting the primary key value for the object that needs to continue grabbing the lower level page in the data analysis table of the upper level page, and the corresponding primary key value of each object is different; grabbing the lower level page and The captured data is stored in the data analysis table of the subordinate page, and the foreign key value is set for the data analysis table of the subordinate page. The primary key value of the object corresponding to the subordinate page is obtained from the data analysis table of the superior page, and then it is taken as the foreign key value of the data analysis table of the subordinate page, so as to realize the associated query between the superior page and the subordinate page after the data is captured and landed. The invention is a data acquisition mode which can restore the logic before and after the web page, ensure the integrity of web page grabbing and store data according to the original web page level order, and can conveniently obtain the associated multi-level page data.

【技术实现步骤摘要】
一种基于网络爬虫的多级页面的级联爬取方法和设备
本专利技术涉及一种基于网络爬虫的多级页面的级联爬取方法和设备,属于数据爬取领域。
技术介绍
现有的上下级页面爬取方法是:先抓取上级页面,然后存储上级页面中的URL地址,并根据这些URL地址重复多次抓取下级页面,最后通过爬虫任务标识和匹配落地的数据。爬虫任务标识是和抓取爬虫,以及爬虫所抓取的数据落地文件一一对应的;当爬虫任务结束需要匹配数据时,利用爬虫任务标识将爬取的数据文件按照原网页逻辑解析成结构化数据。因爬虫任务标识只能起到和爬虫任务一一对应的作用,任务标识间并不体现层级关系,因此,通过爬虫任务标识是无法还原原始数据层级的。如果存在多级页面之间存在关联,现有爬虫技术在抓取多级层次化数据时,由于各级之间关联逻辑较复杂,验证数据完整性和准确性存在较大困难。同时,由于数据存取难度更大,多级网页数据使用规则更为繁琐。
技术实现思路
为了解决上述技术问题,本专利技术提供一种基于网络爬虫的多级页面的级联爬取方法,提供一种能够还原网页前后逻辑的数据采集模式,确保网页抓取的完整性且按原网页层级顺序,以结构化的方式存储数据,从而能够便捷地获取相关联的多层级页面数据。本专利技术技术方案如下:一种基于网络爬虫的多级页面的级联爬取方法,包括如下步骤:抓取上级页面并将抓取到的数据存储在上级页面数据解析表中,在上级页面数据解析表中对需要继续抓取下级页面的对象设置主键值,各所述对象对应的主键值均不相同;抓取下级页面并将抓取到的数据存储在下级页面数据解析表中,并对该下级页面数据解析表设置外键值,从上级页面数据解析表中获取该下级页面对应的对象的主键值,然后将其作为所述下级页面数据解析表的外键值,从而实现抓取数据落地后上级网页和下级网页的关联查询。更优地,爬取多级页面时,抓取到的每一级页面对应的数据解析表中,对需要继续抓取下级页面的对象设置主键值,并从各级页面对应的上一级页面的数据解析表中获取主键值,将该主键值作为本级页面的外键值;具体地:除第一级页面外的各层级页面均由上一级页面中的对象被点击后打开,根据页面与所述对象之间的一一对应关系,确定各层级页面对应的对象,根据确定的对象获取该对象对应的主键值。更优地,所述主键值为所述对象的跳转URL和所述对象的跳转页面ID中的至少一种。更优地,所述跳转URL包括如下形式:完整的下级页面的URL链接;片段下级页面的URL链接后缀;部分参数值;上述任意形式的跳转URL都具有唯一性,均可作为主键值。更优地,爬虫在爬取下级页面前,先分析下级页面是否存在分页,若是,则抓取到的各分页的数据解析表的外键值相同且均为从上级页面数据解析表中获取到的该下级页面对应的对象的主键值。本专利技术提供一种基于网络爬虫的多级页面的级联爬取设备。一种基于网络爬虫的多级页面的级联爬取设备,所述设备包括微处理器和存储器,所述存储器上存储有程序,所述微处理器运行该程序并执行如下步骤:抓取上级页面并将抓取到的数据存储在上级页面数据解析表中,在上级页面数据解析表中对需要继续抓取下级页面的对象设置主键值,各所述对象对应的主键值均不相同;抓取下级页面并将抓取到的数据存储在下级页面数据解析表中,并对该下级页面数据解析表设置外键值,从上级页面数据解析表中获取该下级页面对应的对象的主键值,然后将其作为所述下级页面数据解析表的外键值,从而实现抓取数据落地后上级网页和下级网页的关联查询。更优地,爬取多级页面时,抓取到的每一级页面对应的数据解析表中,对需要继续抓取下级页面的对象设置主键值,并从各级页面对应的上一级页面的数据解析表中获取主键值,将该主键值作为本级页面的外键值;具体地:除第一级页面外的各层级页面均由上一级页面中的对象被点击后打开,根据页面与所述对象之间的一一对应关系,确定各层级页面对应的对象,根据确定的对象获取该对象对应的主键值。更优地,所述主键值为所述对象的跳转URL和所述对象的跳转页面ID中的至少一种。更优地,所述跳转URL包括如下形式:完整的下级页面的URL链接;片段下级页面的URL链接后缀;部分参数值;上述任意形式的跳转URL都具有唯一性,均能作为主键值。更优地,爬虫在爬取下级页面前,先分析下级页面是否存在分页,若是,则抓取到的各分页的数据解析表的外键值相同且均为从上级页面数据解析表中获取到的该下级页面对应的对象的主键值。本专利技术具有如下有益效果:1、一种基于网络爬虫的多级页面的级联爬取方法和设备,按照页面访问的顺序,在上级页面指定下级爬取对象的主键值,并指定下级页面外键值等于该主键值,将网站的页面数据分层级落地到本地存储,实现上下级页面的关联,可快速还原原网页数据的结构和顺序。同时,本专利技术还可以根据每个上级页面所包含的主键值是否在数据库中存在跟它对应地外键值来判断上下级页面是否抓全以及数据全部落地,保证爬虫爬取的数据完整性和准确性。2、一种基于网络爬虫的多级页面的级联爬取方法和设备,适用于多层级页面数据的分层级落地存储,除第一级和最后一级页面外,其余各级页面的数据解析表均包含主键值和外键值,可快速还原原网页数据的结构和顺序。3、一种基于网络爬虫的多级页面的级联爬取方法和设备,所述主键值可利用跳转URL或者跳转的页面ID,不仅具备唯一性特征且读取设置方便。附图说明图1为本专利技术一种基于网络爬虫的多级页面的级联爬取方法的流程图;图2为本专利技术的上级页面主键值示意图;图3为本专利技术的下级页面主键值示意图;图4为本专利技术的上级页面数据中包含下级页面的完整URL的示意图;图5为本专利技术的上级页面数据中包含下级页面的片段URL链接后缀示意图;图6为本专利技术的上级页面数据中包含下级页面的部分参数值的示意图;图7为图6所示网页的网页源码逻辑的示意图;图8为本专利技术的下级页面为分页的爬取流程图。具体实施方式下面结合附图和具体实施例来对本专利技术进行详细的说明。实施例一如图1所示,一种基于网络爬虫的多级页面的级联爬取方法,包括如下步骤:抓取上级页面数据,并将抓取到的数据存储在上级页面数据解析表中,在上级页面数据解析表中对需要继续抓取下级页面的对象设置主键值,所述主键值具有唯一性,各所述对象对应的主键值均不相同;通过该主键值标识对象所在的上级页面并通过该主键值关联下级页面;点击上级页面的URL链接,通过爬虫模拟访问下级页面,抓取下级页面数据并将抓取到的数据存储在下级页面数据解析表中,并对该下级页面数据解析表设置用于关联上级页面的外键值,具体地,从上级页面数据解析表中获取该下级页面对应的对象的主键值,然后将其作为所述下级页面数据解析表的外键值,由于主键值和外键值保持一致,根据主键值和外键值确定层级关系,从而明确抓取数据落地后上级网页和下级网页的层级关联。所述主键值可以是所述对象的跳转URL和所述对象的跳转页面ID中的至少一种。在上级页面中,若需要继续抓取的下级页面的对象有多个,则该上级页面包含的主键值有多个。如图2和本文档来自技高网...

【技术保护点】
1.一种基于网络爬虫的多级页面的级联爬取方法,其特征在于,包括如下步骤:/n抓取上级页面数据,并将抓取到的数据存储在上级页面数据解析表中,在上级页面数据解析表中对需要继续抓取下级页面的对象设置主键值,所述主键值具有唯一性,通过该主键值标识对象所在的上级页面并通过该主键值关联下级页面;/n点击上级页面的URL链接,通过爬虫模拟访问下级页面,抓取下级页面数据并将抓取到的数据存储在下级页面数据解析表中,并对该下级页面数据解析表设置用于关联上级页面的外键值,具体地,从上级页面数据解析表中获取该下级页面对应的对象的主键值,然后将其作为所述下级页面数据解析表的外键值,由于主键值和外键值保持一致,根据主键值和外键值确定层级关系,从而明确抓取数据落地后上级网页和下级网页的层级关联。/n

【技术特征摘要】
1.一种基于网络爬虫的多级页面的级联爬取方法,其特征在于,包括如下步骤:
抓取上级页面数据,并将抓取到的数据存储在上级页面数据解析表中,在上级页面数据解析表中对需要继续抓取下级页面的对象设置主键值,所述主键值具有唯一性,通过该主键值标识对象所在的上级页面并通过该主键值关联下级页面;
点击上级页面的URL链接,通过爬虫模拟访问下级页面,抓取下级页面数据并将抓取到的数据存储在下级页面数据解析表中,并对该下级页面数据解析表设置用于关联上级页面的外键值,具体地,从上级页面数据解析表中获取该下级页面对应的对象的主键值,然后将其作为所述下级页面数据解析表的外键值,由于主键值和外键值保持一致,根据主键值和外键值确定层级关系,从而明确抓取数据落地后上级网页和下级网页的层级关联。


2.根据权利要求1所述的一种基于网络爬虫的多级页面的级联爬取方法,其特征在于:爬取多级页面时,抓取到的每一级页面对应的数据解析表中,对需要继续抓取下级页面的对象设置主键值,并从各级页面对应的上一级页面的数据解析表中获取主键值,将该主键值作为本级页面的外键值;具体地:除第一级页面外的各层级页面均由上一级页面中的对象被点击后打开,根据页面与所述对象之间的一一对应关系,确定各层级页面对应的对象,根据确定的对象获取该对象对应的主键值。


3.根据权利要求1所述的一种基于网络爬虫的多级页面的级联爬取方法,其特征在于:所述主键值为所述对象的跳转URL和所述对象的跳转页面ID中的至少一种。


4.根据权利要求3所述的一种基于网络爬虫的多级页面的级联爬取方法,其特征在于:所述跳转URL包括如下形式:完整的下级页面的URL链接;片段下级页面的URL链接后缀;部分参数值;上述任意形式的跳转URL都具有唯一性,均可作为主键值。


5.根据权利要求1所述的一种基于网络爬虫的多级页面的级联爬取方法,其特征在于:爬虫在爬取下级页面前,先分析下级页面是否存在分页,若是,则抓取到的各分页的数据解析表的外键值相同且该外键值为从上级页面数据解析表中获取到的该下级页面对应的对象的主键值。


6.一种基于网络爬虫的多...

【专利技术属性】
技术研发人员:邱涛丘水文陈昊陈耀才
申请(专利权)人:厦门商集网络科技有限责任公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1