CN109902220B - 网页信息获取方法、装置和计算机可读存储介质 - Google Patents

网页信息获取方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN109902220B
CN109902220B CN201910145450.2A CN201910145450A CN109902220B CN 109902220 B CN109902220 B CN 109902220B CN 201910145450 A CN201910145450 A CN 201910145450A CN 109902220 B CN109902220 B CN 109902220B
Authority
CN
China
Prior art keywords
information
webpage
page
site
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910145450.2A
Other languages
English (en)
Other versions
CN109902220A (zh
Inventor
高寻阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910145450.2A priority Critical patent/CN109902220B/zh
Publication of CN109902220A publication Critical patent/CN109902220A/zh
Application granted granted Critical
Publication of CN109902220B publication Critical patent/CN109902220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本公开揭示了一种网页信息获取方法、装置和计算机可读存储介质,包括:轮询所配置的不同监控类型,以进行网页信息的获取;获取为监控类型所配置的站点监控信息;根据地址信息进行网页爬取,获得所对应的页面数据;根据所获得的页面数据确定所对应网页页面的类型,网页页面的类型包括列表页和详情页;在页面数据所对应的网页页面为列表页时,根据页面数据中携带的链接信息获得继续进行网页爬取的地址信息以及进行万个亿爬取,以获得所对应的页面数据;在页面数据所对应的网页页面为详情页时,对页面数据进行关键字匹配处理,以获得在监控站点下与所关注关键字相匹配的网页信息,使网页信息的获取具有高效性。

Description

网页信息获取方法、装置和计算机可读存储介质
技术领域
本公开涉及互联网应用技术领域,特别涉及一种网页信息方法及装置。
背景技术
随着互联网技术的蓬勃发展,各种内容平台层出不穷,海量内容呈指数级增长。以往人们通过内容平台中信息浏览的进行获得所关注网页信息的方式,随着内容平台的增多以及海量内容的不断增长而不再适用,如何高效获得所关注的网页信息,成为当前亟待解决的问题。
网页信息获取的现有实现,一方面是借助于各大内容平台中内容的逐一浏览实现,另一方面则是搜索的发起不断获取得到来自各大内容平台的网页信息搜索结果,进而以此来较为快速的获得网页信息。
但是,无论何种实现方式,都需要人工介入进行搜索浏览筛选,无法自动快速获得关注的各类网页信息,也无法实现众多类别的网页信息高效获取,依赖于人工完成的网页信息获取,不具备通用性。
综上所述的,面向于诸多内容平台以及指数级增长的海量内容,亟待解决网页信息获取中由于依赖于人工,而不具备高效性以及通用性的缺陷。
发明内容
为了解决相关技术中存在的问题,本公开提供了一种具备高效性和通用性的网页信息获取方法及装置。
第一方面,一种网页信息获取方法,所述方法包括:
轮询所配置的不同监控类型,以进行网页信息的获取;
获取为所述监控类型所配置的站点监控信息所述站点监控信息用于指示所述监控类型下各监控站点的地址信息以及在所述各监控站点关注的关键字;
根据所述地址信息进行网页爬取,获得所对应的页面数据;
根据所获得的页面数据确定所对应网页页面的类型,所述网页页面的类型包括列表页和详情页;
在所述页面数据所对应的网页页面为列表页时,根据所述页面数据中携带的链接信息获得继续进行网页爬取的地址信息以及进行网页爬取,以获得所对应的页面数据;
在所述页面数据对应的网页页面为详情页时,对所述页面数据进行关键字匹配处理,以获得在所述监控站点下与所关注关键字相匹配的网页信息。
第二方面,一种网页信息获取装置,所述装置包括:
轮询模块,用于轮询所配置的不同监控类型,以进行网页信息的获取;
站点监控信息获取模块,用于获取为所述监控类型所配置的站点监控信息,所述站点监控信息用于指示所述监控类型下各监控站点的地址信息以及在所述各监控站点关注的关键字;
网页爬取模块,用于根据所述地址信息进行网页爬取,获得所对应的页面数据;
网页页面类型确定模块,用于根据所获得的页面数据确定所对应网页页面的类型,所述网页页面的类型包括列表页和详情页;
列表页处理模块,用于在所述页面数据所对应的网页页面为列表页时,根据所述页面数据中携带的链接信息获得继续进行网页爬取的地址信息,再转至网页爬取模块;
详情页处理模块,用于在所述页面数据对应的网页页面为详情页时,对所述页面数据进行关键字匹配,获得在所述监控站点下与所关注关键字相匹配的网页信息。
第三方面,一种网页信息获取装置,所述装置包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的网页信息获取方法。
第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的网页信息获取方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过本公开的技术方案,通过在各监控类型下配置的站点监控信息即可直接进行网页爬取,一方面在爬取获得列表页的页面数据时,根据页面数据中携带的链接信息获得继续进行网页爬取的地址信息,以继续进行网页爬取;另一方面,在获得详情页的页面数据时,根据所关注关键字进行关键字匹配,从而获得在监控站点下与所关注关键字匹配的网页信息,由此对于需要各监控类型下的网页信息的获取而言,仅需要对应地进行站点监控信息配置即可,不再需要人工介入进行搜索浏览筛选,就能够及时自动获得关注的各类网页信息,使得网页信息的获取能够具备高效性和通用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据本公开所涉及的实施环境的示意图;
图2是根据一示例性实施例示出的一种服务器的框图;
图3是根据一示例性实施例示出的一种网页信息获取方法的流程图;
图4是根据另一示例性实施例示出的一种网页信息获取方法的流程图;
图5是根据一示例性实施例示出的监控站点配置的示意图;
图6是根据一示例性实施例示出的关键字配置的示意图;
图7是图3对应实施例的步骤S150在一实施例中的流程图;
图8是图7对应实施例的步骤S153在一实施例中的流程图;
图9是图8对应实施例的步骤S230在一实施例中的流程图;
图10是图7对应实施例的步骤S153在另一实施例中的流程图;
图11是图3对应实施例的步骤S180在一实施例中的流程图;
图12是图11对应实施例的步骤S181在一实施例中的流程图;
图13是图11对应实施例的步骤S181在另一实施例中的流程图;
图14是图3对应实施例的步骤S190在一实施例中的流程图;
图15是根据一示例性实施例示出的推送信息的示意图;
图16根据一示例性实施例示出的工作流程图;
图17是根据一示例性实施例示出的分布式爬虫系统和爬虫配置系统的框图;
图18是根据图17示出的分布式爬虫系统和爬虫配置系统的工作流程图;
图19是根据一示例性实施例示出的网页信息获取装置的框图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据本公开所涉及的实施环境的示意图。该实施环境包括:用户终端110、爬取服务器130和至少一站点服务器150。
爬取服务器130可以是单一服务器,也可以是由若干服务器构成的服务器集群,在此不进行限定。
站点服务器150用于实现站点的运行,通过站点服务器150而向访问此站点服务器150的机器提供站点中的网页信息。应当理解的,与爬取服务器130交互的站点服务器150,其所实现的站点,即为爬取服务器中配置的监控站点,因此,爬取服务器130是面向于至少一站点服务器150的,爬取服务器130通过与至少一站点服务器150之间的交互,而基于本发明所提供的示例性实施例获得来自于各监控站点的网页信息。
在一个示例性实施例的应用中,爬取服务器130所获得的网页信息,可以是内容聚合应用所关注的,也可以是用户通过自身在爬取服务器130中的设置所关注的,因此,正如图1所示出的,爬取服务器130将所获得的网页信息,向关注这一网页信息的用户终端110推送,其中,用户终端110可以是台式电脑、笔记本电脑、智能手机等电子设备,在此不进行限定。
图1所示的实施环境仅为本公开所实现网页信息获取的一种落地实现,根据不同的落地实现,将部署不同的实施环境来执行本公开的网页信息获取。
图2是根据一示例性实施例示出的一种服务器的框图。服务器200可以作为图1实施例中的爬取服务器130。
需要说明的是,该服务器200只是一个适配于本发明的示例,不能认为是提供了对本公开使用范围的任何限制。该服务器200也不能解释为需要依赖于或者必须具有图2中示出的示例性的服务器200中的一个或者多个组件。
该服务器200的硬件结构可因配置或者性能的不同而产生较大的差异,如
图2所示,服务器200包括:电源210、接口230、至少一存储器250、以及至少一中央处理器(CPU,Central Processing Units)270。
其中,电源210用于为服务器200上的各硬件设备提供工作电压。
接口230包括至少一有线或无线网络接口231、至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,用于与外部设备通信。
存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253或者数据255等,存储方式可以是短暂存储或者永久存储。其中,操作系统251用于管理与控制服务器200上的各硬件设备以及应用程序253,以实现中央处理器270对海量数据255的计算与处理,其可以是WindowsServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM、FreeRTOS等。应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图2中未示出),每个模块都可以分别包含有对服务器200的一系列计算机可读指令。数据255可以是暂时所爬取的页面数据等。
中央处理器270可以包括一个或多个以上的处理器,并设置为通过总线与存储器250通信,用于运算与处理存储器250中的海量数据255。
如上面所详细描述的,适用本发明的服务器200将通过中央处理器270读取存储器250中存储的一系列计算机可读指令的形式来实现网页信息获取方法。
此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。
图3是根据一示例性实施例示出的一种网页信息获取方法的流程图。在一个示例性实施例中,该网页信息获取方法应用于图1所示实施环境的爬取服务器130,如图3所示,该网页信息获取方法,包括以下步骤:
步骤S110,轮询配置的不同监控类型,以进行网页信息的获取。
步骤S130,获取为监控类型所配置的站点监控信息,站点监控信息用于指示监控类型下各监控站点的地址信息以及在各监控站点关注的关键字。
在本公开的技术方案中,为获取到所关注的网页信息,在爬取服务器130配置了不同的监控类型。所配置的不同监控类型,都用于指示所获取网页信息的类别,即一监控类型的配置,将用于控制进行一类网页信息的获取。换而言之,后续所获取得到的网页信息,无论来自于哪一站点,也无论来自于哪一网页页面,都是归属于所配置监控类型指示的类别的。
在所进行的监控类型轮询中,对所轮询到的监控类型进行所对应站点监控信息的获取,也就是说,监控类型和站点监控信息二者之间存在着对应关系,能够由所轮询到的监控类型而获得为所轮询到监控类型所配置的一条或者多条站点监控信息。
在此示例性实施例中,通过监控类型的轮询来进行站点监控信息的获取,进而完成网页信息的获取,有效的保证了所实现网页信息获取的有序性。轮询监控类型而获取网页信息的过程,实质是有序访问站点监控信息所对应站点服务器的过程,因此,有序控制了爬取服务器130面向大量站点服务器150的交互。
示例性的,监控类型可以基于待获取网页信息所属行业、所属地区等来进行配置,例如监控类型可以设定为医疗行业、航天行业、材料行业、金融行业等不同行业,以此来获取所关注行业的网页信息。
由于在爬取服务器130中配置了若干监控类型,爬取服务器130轮询所配置的多个监控类型,以对每一监控类型逐一进行所配置站点监控信息的获取。示例性的,对监控类型所进行的轮询将是周期性进行的。
为了获得监控类型下的网页信息,相应在监控类型下配置了至少一站点监控信息,也就是说,一监控类型对应着一条或者多条站点监控信息。站点监控信息用于为配置的监控类型具象化监控站点以及在此监控站点中关注的内容,监控站点将通过站点监控信息中的地址信息表征,而在此监控站点中关注的内容则通过站点监控信息中配置的关键字表示。由此,通过监控类型下的站点监控信息配置,即可获知所需要关注的站点以及此站点中需要关注的内容,进而自动执行网页信息的获取。在监控类型以及站点监控信息的配置下,将极大的增强了网页信息获取的准确性和及时性。
换而言之,监控站点即网页信息获取中所关注网页信息的来源网站,例如新闻网站、购物网站、视频网站等。为了获得所关注的网页信息,在对应的监控类型下配置了一个或者多个监控站点,从而爬取服务器130即可根据本公开的方法进行网页爬取,获得在所配置的监控站点下关注的网页信息。
在所配置的站点监控信息中,监控站点的地址信息可以是监控站点中任一个网页的网址,即网页的URL(Uniform Resource Locator,统一资源定位符),例如监控站点首页的地址,监控站点中某一列表页的地址等,在此不进行具体限定。
为了使获得的网页信息满足用户的需求,保证所获得的网页信息与用户所关注信息相关性更强,在监控类型下根据用户所关注的内容对应配置关键字,配置的关键字可以是一个或者多个。在具体实施例中,所配置的多个关键字之间可以通过逻辑运算符连接,例如逻辑或、逻辑与等,在此不进行具体限定。
总的来说,为了获得用户所关注的网页信息,需要用户根据需要进行配置,所进行的配置至少包括:在所选择监控类型下配置监控站点的地址信息,以及在监控类型下所关注的关键字,从而对应的根据所进行的配置生成在监控类型下的站点监控信息,从而,在进行网页信息获取的过程中,即可获得在监控类型下的站点监控信息。配置的监控类型以及站点监控信息被部署于爬取服务器130中。
步骤S150,根据地址信息进行网页爬取,获得所对应的页面数据。
对于进行网页爬取,是根据地址信息来进行的。具体而言,地址信息指示了所要爬取网页页面的地址,从而,在进行网页爬取时,根据所要爬取网页页面的地址进行爬取,从而获得所对应网页页面的页面数据。也即是说网页页面、地址信息、页面数据这三者是一一对应的。
在本公开的技术方案中,为了获得监控站点下的网页信息,以站点监控信息中监控站点的地址信息作为进入监控站点的入口,进而对应获得在监控站点中所关注的网页信息。示例性的,通过爬取服务器130的运行,经由站点监控信息中的地址信息分别访问各个监控站点,以及各监控站点下的网页页面,以此来获得地址信息所指示网页页面的页面数据。即,经由在监控类型下配置的站点监控信息,爬取服务器130将进行各站点服务器150的访问,从而向所访问的站点服务器150请求站点监控信息中地址信息对应的页面数据,此页面数据能够通过在浏览器中的加载而显示自身所携带的网页信息。
而站点监控信息中的地址信息所对应的网页页面可能是详情页也可能是列表页,如果是列表页,由于列表页中包括多个网页链接,具体表现为列表页所对应页面数据携带的链接信息,进而,可以继续根据所获得列表页的页面数据中所携带的链接信息继续进行网页爬取,即下文在步骤S180中获得继续进行网页爬取的地址信息,从而继续根据所获得的地址信息进行网页爬取。
也即是说,在步骤S150中,所进行的网页爬取是依据站点监控信息中的地址信息作为进入监控站点的入口,如果爬取到监控站点中的列表页,则继续根据列表页所对应页面数据中携带的链接信息获得继续进行网页爬取的地址信息,继续网页爬取的过程。
步骤S170,根据所获得的页面数据确定所对应网页页面的类型,网页页面的类型包括列表页和详情页。
首先应当说明的是,地址信息对应的网页页面包括两种类型,即列表页和详情页。列表页是指主体内容为带链接的标题或者带链接的图片的网页页面。举例来说,例如新闻网站,列表页为页面上主体内容包括带链接的各种新闻标题(标题下方可以有简短的摘要)或者带链接的新闻图片,比如新闻网站中的首页以及栏目页均为列表页。
详情页,又称内容页,是指网页页面上的主体内容为详情内容的网页页面,例如某一条新闻正文所在的网页页面。
可以理解的,列表页必然存在着与其部分内容相链接的网页页面,因此,对于网页页面的两种不同类型,即列表页和详情页,将分别执行不同的网页信息获取过程,以保证监控站点下网页信息获取的准确性和完整性。
网页页面的页面数据即指该网页页面所对应的网页源码信息,例如html文档。如上所描述,对于列表页,网页页面的主体内容为带链接的标题或者图片,而详情页的主体内容为详情内容,从而,可以根据所获得的页面数据来对应的确定所对应网页页面的类型。例如在html文档中,网页页面的主体内容由html文档中body标签下的内容来呈现,从而,可以根据页面数据中body标签下的内容来确定网页页面是列表页或者详情页。
由于在步骤S180和步骤S190中,针对所获得页面数据所对应网页页面的类型不同,而对应执行不同的步骤,所以在通过步骤S150获得所对应的页面数据之后,根据页面数据来确定所对应网页的类型,即页面数据所对应网页页面为列表页或者详情页,从而,根据所确定的类型对应地确定执行步骤S180或者步骤S190,提高执行效率。
步骤S180,在页面数据所对应的网页页面为列表页时,根据页面数据中携带的链接信息获取继续进行网页爬取的地址信息,再转至步骤S150:根据地址信息进行网页爬取,获得所对应的页面数据。
列表页中,所对应页面数据中携带的链接信息即指示了所链接网页页面的地址,从而可以对应根据所携带的链接信息获得继续进行网页爬取的地址信息,例如将页面数据中所携带的全部链接信息均作为继续进行网页爬取的地址信息,又例如对页面数据中所携带的链接信息进行筛选以其中一部分链接信息作为继续进行网页爬取的地址信息。
在本公开的技术方案中,是以获得所关注的网页信息为目的进行网页爬取,即对应于监控类型的网页信息,为了提高网页爬取效率,对列表页的页面数据中所携带的链接信息进行筛选,以筛选得到的链接信息作为继续进行网页爬取的地址信息。其中所进行的筛选可以是下文所提及的按照深度学习的方式进行,即下文所提到的通过训练获得的机器学习模型为页面数据中所携带的链接信息进行标签预测;还可以是下文所提及的根据为监控类型所设定的匹配条件来进行筛选,即从页面数据所携带的链接信息中筛选出满足匹配条件的链接信息作为继续进行网页爬取的地址信息,在其他实施例中,还可以通过其他的方式对页面数据中所携带的链接信息进行筛选,在此不进行具体限定。
从而,在从列表页中获取到继续进行网页爬取的地址信息之后,转至步骤S150,即根据从列表页中所获取的地址信息进行网页爬取,获得所对应的页面数据,进而执行后续的步骤S170,步骤S180或者步骤S190。
步骤S190,在页面数据对应的网页页面为详情页时,对页面数据进行关键字匹配处理,以获得在各监控站点下与所关注关键字相匹配的网页信息。
所进行的关键字匹配,即根据站点监控信息中的关键字在所获取详情页的主体内容中进行匹配。详情页的页面数据中包括所对应网页页面的标题、正文等主体内容,除此之外,也可以包括摘要、作者、时间、图片等主体内容,还包括附加的广告链接、评论信息、推送链接等附加内容。
在一实施例中,在进行匹配之前从详情页的页面数据中提取出待进行关键字匹配的主体内容,例如详情页的页面数据中的摘要或正文等主体内容中的至少一部分,从而,在进行关键字匹配时,根据所提取的内容进行匹配。如果所提取的内容匹配到所关注关键字,则确定该详情页即为在监控站点下与所关注关键字匹配的网页信息。
在一实施例中,为了对应的从详情页的页面数据中提取待进行关键字匹配的内容,进行监控站点配置时,对应配置CSS(Cascading Style Sheets,层叠样式表)选择器,从而根据所配置的CSS选择器来对应的进行待提取内容的定位。即通过待提取内容的样式来进行待提取内容的定位,例如根据新闻详情页的正文的样式来定位正文内容。网页页面中各个元素的显示样式由CSS选择器中对应元素的内容决定,例如CSS选择器中对于标题部分,定义标题的显示字体、颜色等,对于正文部分,定义正文的显示字体、颜色等。从而,根据CSS选择器中对应元素的内容进行元素的定位,例如标题、正文、摘要,进而进行对应内容的提取。
通过在各监控类型下配置的站点监控信息即可直接进行网页爬取,并在爬取获得列表页的页面数据时,根据页面数据中所携带的链接信息获得继续在监控站点中进行网页爬取的地址信息,继续进行网页爬取;在爬取获得详情页的页面数据时,根据所配置在监控站点下关注的关键字对所爬取获得的页面数据进行关键字匹配,从而获得在监控站点下与所关注关键字匹配的网页信息。不需要人工介入在各大内容平台中进行浏览搜索筛选获得所关注的网页信息,而仅需要对应地进行站点监控信息的配置即可,大幅提高了网页信息获取的高效性和通用性。
在一实施例中,如图4所示,步骤S130之前,网页信息获取方法还包括:
步骤S120,根据对监控类型触发进行的监控站点配置,将对监控类型所配置的站点监控信息配置到网络信息获取的执行中。
爬取服务器130所进行的网页信息获取,是基于配置的监控类型以及所配置监控类型下的站点监控信息执行的。与此相对应的,对所需要执行的网页信息获取,还将进行监控类型以及监控类型下站点监控信息的配置。在一个示例性实施例中,监控类型以及监控类型下站点监控信息的配置,将通过所进行的信息录入实现。
例如,在提供的配置页面中,能够进行监控类型的新增、已有监控类型下站点监控信息的录入或者已有监控类型下站点监控信息的修改更新,以此来获得网页信息获取的执行中依据的监控类型和站点监控信息。
在一示例性实施例中,监控类型的新增、已有监控类型下站点监控信息的录入和已有监控类型下站点监控信息的修改更新,是通过所部署的配置系统来实现。通过爬取服务器130中配置系统的运行,而跳转进入配置页面。应当理解的,配置系统可以是爬取服务器130中运行的服务器程序,而所执行的网页爬取,也可通过爬取服务器130中运行的爬虫程序这一服务器程序来实现。
网页信息的获取是根据在监控类型下所配置的站点监控信息来进行的,从而,将根据对监控类型的配置得到的站点监控信息执行网络信息的获取。如上所描述,所进行的监控站点配置至少包括:在监控类型下配置监控站点的地址信息、在监控类型下所关注的关键字。其中对监控类型所进行的监控站点配置还可以包括:是否调用无头浏览器、是否使用代理服务器、监控站点区域(例如国内站点、国外站点等)、监控站点的名称、爬虫选择(例如对于该监控类型,通过所部署爬虫系统中的哪些服务器上的爬虫进行爬取)、以及为识别链接信息而配置的匹配条件等,当然,以上进行是示例性举例,不能认为是对本公开使用范围的限制。
在一实施例中,所进行为监控类型所进行的配置包括监控站点配置和关键字配置。监控源配置即配置监控站点的地址信息等。
图5是根据一示例性实施例示出的监控站点配置的示意图。如图5所示,在监控站点配置中,可以进行配置监控站点的首页链接(以所配置的首页链接作为监控站点的地址信息)、网站的别名、是否开启动态js(即是否调用无头浏览器)、正则表达式(作为下述的匹配条件进行网页信息链接的匹配筛选)、CSS选择器(用于进行页面数据中的信息的筛选定位)、爬虫类别(例如对于监控类型为医疗行业监控,则选择医疗行业数据爬虫)。具体在进行配置时,需要至少配置监控站点的首页链接这一配置项。当然,图5仅仅是示例性举例,不能认为是对本公开使用范围的限制。
图6是根据一示例性实施例示出的关键字配置的示意图。如图6所示,在进行关键字配置时,可以配置的内容包括:关键字列表(用于输入所关注关键字)、微信群ID(作为推送路径,用于指示推送网页信息的接收方)、群名称、是否默认推送等。当然,图6仅仅是示例性举例,不能认为是对本公开使用范围的限制。
在一实施例中,如图7所示,步骤S150包括:
步骤S151,根据所获取站点监控信息中的地址信息和/或根据从列表页中所获得继续进行网页爬取的地址信息生成网络请求任务。
步骤S152,将网络请求任务添加至请求消息队列中。
步骤S153,在请求消息队列,对网络请求任务执行网页爬取,获得对应于网络请求任务的页面数据。
网络请求任务是根据待爬取网页页面的地址信息来生成的,一个地址信息对应生成一网络请求任务,从而在根据网路请求任务进行网页爬取时,爬取获得该地址信息所指示网页页面的页面数据。
请求消息队列是在网络请求任务传输过程中用于存储待执行网络请求任务的容器。其中待执行网络请求任务是根据站点监控信息中监控站点的地址信息和/或根据从所爬取到列表页的页面数据中获得的继续进行网页爬取的地址信息来生成的。即,在根据所配置的站点监控信息进行网页爬取的初期,请求消息队列中的网络请求任务是根据站点监控信息中监控站点的地址信息来生成的,而随着网页爬取的进行,在爬取到列表页后,根据列表页的页面数据中携带的链接信息获得继续进行网页爬取的地址信息,并根据所获得的地址信息继续生成网络请求任务添加至请求消息队列中,继续进行网页爬取。
在一实施例中,通过在爬取服务器130中部署的调度器根据站点监控信息中监控站点的地址信息以及所爬取到列表页的页面数据中获得的继续进行网页爬取的地址信息生成网络请求任务,并将所生成的网络请求任务添加至请求消息队列中。在请求消息队列中,按照先进先出的原则执行,也即是说,在为进行网页爬取,从请求消息队列中获取网络请求任务时,先放入请求消息队列中的网络请求任务将被先取出进行网页爬取。
在一具体实施例中,为调度器预设调度策略,通过调度策略来限定调度器在生成网络请求任务或者将网络请求任务添加至请求消息队列中所需要遵循的规则,从而使调度器根据调度策略进行网络请求任务的调度。调度策略例如是将网络请求任务添加至请求消息队列的优先级策略、网络请求任务去重策略等,在此不进行具体限定。例如在调度策略中根据网页所对应URL中的域名来设定优先级,从而,在调度器将网络请求任务添入请求消息队列时,先添加高优先级域名地址所对应网络请求任务。
在一实施例中,为了提高网页爬取的效率,预设爬取策略进行网页爬取,通过爬取策略来限定在进行网页爬取时所需要遵循的规则。爬取策略例如对于同一域名服务器进行爬取的策略、重试策略(即在通过网络请求任务进行一次网页爬取未爬取到对应的网页数据之后所设定的重试规则),重试策略例如设定在一次爬取未爬取到页面数据后,重复两次进行爬取;又比如在一次爬取未爬取成功后,间隔设定时间之后再进行爬取等,又例如在爬取一次失败后通过代理服务器进行网页爬取等。在其他实施中,爬取策略还可以是其他策略,在此不进行具体限定。
在一实施例中,为了便于在根据获得页面数据对应根据页面数据所对应网页页面的类型执行不同的步骤,通过待爬取网页页面的地址信息来确定所对应网页页面的类型,从而根据所对应网页页面的类型分别生成不同的网络请求任务,即如果待爬取的网页页面为详情页则生成详情页网络请求任务,如果待爬取的网页页面为列表页则生成列表页网络请求任务。进而,在获得对应于网络请求任务的页面数据时,即可根据网络请求任务的类型对应确定所获得页面数据所对应网页页面的类型。
具体而言,根据待爬取网页的地址信息生成详情页网络请求任务还是列表页网络请求任务是根据对待爬取网页的地址信息的解析结果进行的,即解析地址信息所对应网页页面为详情页还是列表页,如果为详情页,则生成详情页网络请求任务,反之则生成列表页网络请求任务。
而对地址信息所进行的解析,是根据详情页和列表页所对应的URL的构成特点进行分析来进行的。详情页的地址信息(即URL)与列表页的地址信息(即URL),在字符串的构成上存在差异,例如监控站点的首页的地址信息仅由该监控站点的域名构成,详情页的地址信息中除了包括域名外,还包括发布时间、所属分类等信息。
举例来说,例如某一新闻网站的首页的URL为:https://www.qq.com/(该网页页面为列表页),在该新闻网站中的另一网页页面的URL为:https://new.qq.com/ch/tech/(该网页页面为列表页),在该新闻网站中的一新闻正文所在网页页面(该页面为详情页)的URL为:https://new.qq.com/cmsn/20190122/20190122002279.html,由上可以看出,在该网站下,对于列表页和详情页,网页页面的URL构成不同,从而,可以通过解析待爬取网页页面的地址信息来确定待爬取的网页页面为列表页或者详情页。进而根据解析结果对应生成列表页网络请求任务或者详情页网络请求任务,而在获得对应于网络请求任务的页面数据之后,如果网络请求任务为列表页请求任务,则确定所获得页面数据所对应的网页页面为列表页,如果网络请求任务为详情页请求任务,则确定所获得页面数据所对应的网页页面为详情页。
在一实施例中,如图8所示,步骤S153包括:
步骤S210,对请求消息队列中的网络请求任务,根据网络请求任务中携带的地址信息识别请求爬取的网页页面是否为动态页面。
步骤S230,如果请求爬取的网页页面是动态页面,则调用无头浏览器进行网页加载,获得动态页面所对应的页面数据。
动态页面是指采用动态技术生成的网页,动态页面实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页,也即是说,动态页面的页面数据中包括存储于服务器上的页面代码信息和响应于用户的点击操作而返回的动态数据。动态页面一般采用asp、php或者jsp作为URL的后缀,而且动态页面的URL中一般带有“?”等特殊字符。
静态页面的内容是固定的,每个页面都是独立的页面,不会根据用户、访问时间而进行改变。静态页面的URL以.htm、.html、.shtml、.xml作为后缀。
基于以上动态页面和静态页面在地址信息(即URL)上的区别,从而可以根据网页页面的地址信息进行动态页面的识别,例如通过地址信息的后缀来进行动态页面的识别。
无头浏览器是一种没有显示界面的浏览器,但是能够通过提供的各种接口,实现一般界面浏览器所能实现的除界面显示外的所有功能,例如可以访问网站服务器,例如可以根据预设的触发信息模拟触发进行点击事件(比如键盘点击、鼠标点击)等。
在一实施例中,如图9所示,步骤S230包括:
步骤S231,根据网络请求任务发起网页请求,获得动态页面的页面代码信息。
步骤S233,调用无头浏览器根据页面代码信息进行加载。
步骤S235,在无头浏览器所加载得到的页面上,根据预设的触发信息触发自身所对应的点击事件,触发信息用于模拟在动态页面上对可操作页面元素的操作。
步骤S237,根据所触发的点击事件进行资源请求获得所对应的动态数据。
动态页面所对应页面数据包括页面代码信息和动态数据。对于动态页面的页面代码信息,可以按照对静态页面进行的方式爬取获得,而对于动态页面中的动态数据则需要利用无头浏览器根据所获得的页面代码信息进行动态页面加载,从而通过预设的触发信息在无头浏览器所加载的页面上触发点击事件,例如鼠标点击,键盘点击等,发起资源请求,获得对应于点击事件的动态数据。
也即是说,在本实施例的技术方案中,为了爬取获得动态页面的动态数据,在无头浏览器中预设触发信息,从而通过所预设的触发信息触发进行自身所对应的点击事件,从而根据点击事件发起资源请求,对应获得点击事件所对应的动态数据。其中,预设的触发信息用于模拟用户在动态页面上对可操作页面元素的操作,换言之,预设的触发信息是针对动态页面上可供用户进行点击操作的可操作页面元素来设定的。
在一实施例中,如图10所示,步骤S153包括:
步骤S310,在触发根据请求消息队列中的网络请求任务执行网页爬取获得页面数据时,根据站点监控信息的指示调用代理服务器。
步骤S330,通过代理服务器根据网络请求任务进行网页爬取,获得对应于网络请求任务的页面数据。
在该实施例中,站点监控信息中指示了是否调用代理服务器进行网页爬取,例如上文提及的在监控站点中配置的启动js动态加载。对应的,部署了与爬取服务器相关联的若干代理服务器,从而,若站点监控信息中指示通过代理服务器进行网页爬取,则从所部署的若干代理服务器获取用于进行该监控站点下网页爬取的代理服务器,并通过所获取的代理服务器发起网页请求以执行网络请求任务,获得对应于网络请求任务的页面数据。
对于部署了反爬虫策略的监控站点,如果通过爬取服务器130多次在监控站点中进行网页爬取,则可能会导致网页爬取失败,即网页所在的站点服务器150识别到发起页面请求的对象为爬虫,从而,需要通过所部署的代理服务器来进行网页爬取。
对于一些爬取服务器130无法进行访问的监控站点,例如一些境外的监控站点,通过所部署的可以访问境外站点的代理服务器来发起网络请求,对应获取到监控站点中的页面数据,从而保证监控站点中页面数据的获取的有效性。
在一实施例中,如图11所示,步骤S180包括:
步骤S181,在页面数据所对应的网页页面为列表页时,识别页面数据中携带的链接信息,获得对应于监控类型的网页信息链接,网页信息链接是对列表页继续执行网页爬取的地址信息。
步骤S183,将所获得的网页信息链接作为继续进行网页爬取的地址信息。
对于列表页而言,列表页中所链接网页页面中的页面内容并不均与所配置的监控类型相关,例如在新闻网站的首页中存在多个主题相关网页页面的链接,例如军事、娱乐、科技等,甚至还包括广告链接,而若监控类型为科技新闻,则需要从首页中的链接信息中获取与科技新闻相关的链接信息,来进行所关注网页信息的爬取。从而,为了减少爬取不必要的网页,提高网页爬取的效率,对页面数据中携带的链接信息进行识别,即将识别对应于监控类型的链接信息识别出来,作为网页信息链接,进而根据识别所获得的网页信息链接继续进行网页爬取。
示例性的,其中所进行的识别可以是基于机器学习模型,也可以是基于预先在站点配置信息中配置的匹配条件进行,详见下文描述。
从而,从列表页所对应页面数据中获得对应于监控类型的网页信息链接之后,以网页信息链接作为地址信息进行继续进行网页爬取,直至爬取到详情页的页面数据。
在一实施例中,如图12所示,步骤S181包括:
步骤S401,从页面数据中提取所携带的链接信息。
步骤S403,根据训练获得的机器学习模型对每一所提取的链接信息进行标签预测。
步骤S405,根据所预测得到的标签筛选对应于监控类型的链接信息,所筛选得到的链接信息即为对应于监控类型的网页信息链接。
在本实施例中,通过训练获得的机器学习模型来对链接信息进行标签预测。其中,机器学习模型中所设定的标签是根据在爬取服务器130中所设定的监控类型来进行设定的,即每一监控类型对应于机器学习模型中的一个标签。
其中机器学习模型可以是基于循环神经网络构建、卷积神经网络构建等,在此不进行具体限定,机器学习模型的输出层为分类器,用于确定链接信息所对应的标签。
机器学习模型构建页面数据中所携带每一链接信息的特征向量,并根据所构建的特征向量来进行标签预测。举例来说,例如爬虫系统中设定了四个监控类型,分别为:医疗行业、航天行业、材料行业、金融行业。对应的,在机器学习模型中设定的标签包括指示医疗行业的标签A、指示航天行业的标签B、指示材料行业的标签C、指示金融行业的标签D和指示其他链接的标签E。机器学习模型在基于为链接信息所构建的特征向量进行标签预测时,若根据该链接信息所对应特征向量预测为标签A的概率为P1,为标签B的概率为P2,为标签C的概率为P3、为标签D的概率为P4以及为标签E的概率为P5,则根据所预测得到每一标签的概率,将所预测的概率最大值所对应的标签确定为该链接信息的标签。
通过所预测得到的标签,即可筛选出对应于该监控类型的链接信息,并将筛选得到的链接信息作为对应于监控类型的网页信息链接。
为了保证机器学习模型对标签预测的准确性,在步骤S403前,通过若干样本链接信息和为每一样本链接信息所标注的样本标签进行机器学习模型的训练,其中样本标签是根据监控类型来标注的。在训练过程中,通过机器学习模型预测每一样本链接信息的标签,并根据为该样本链接信息所对应的样本标签进行机器学习模型的模型参数。即在所预测得到的标签与样本标签不一致时,调整模型的参数,直至所预测得到的标签与样本标签一致。继续通过其他样本链接信息进行机器学习模型的训练,直至机器学习模型收敛,得到训练之后的机器学习模型。从而将训练之后的机器学习模型用于步骤S403进行标签预测。
在另一实施例中,站点监控信息包括为监控类型所配置的匹配条件,如图13所示,步骤S181包括:
步骤S501,根据匹配条件对页面数据中所携带的链接信息进行匹配。
步骤S503,将满足匹配条件的链接信息作为对应于监控类型的网页信息链接。
在该实施例中,站点监控信息中包括为链接信息所配置的匹配条件。其中所配置的匹配条件例如是基于URL所配置的正则表达式,即在进行监控站点配置时,根据所要获取网页信息的地址信息进行配置正则表达式,在从页面数据中提取所携带的链接信息之后,根据所配置的正则表达式进行匹配,将与所配置的正则表达式匹配的链接信息作为对应于监控类型的网页信息链接。
在一实施例中,如图14所示,步骤S190包括:
步骤S191,在页面数据对应的网页页面为详情页时,从页面数据中提取详情页的主体内容。
步骤S193,将每一所关注关键字在主体内容中进行匹配。
步骤S195,若在主体内容中至少匹配到一个所关注关键字,则将主体内容所在网页页面确定为在监控站点下与所关注关键字相匹配的网页信息。
如上所描述,在为监控类型所配置的站点监控信息中配置了所关注关键字,其中,所配置的关键字可以是一个或者多个。对于详情页的页面数据中,其中不仅包括主体内容,即详情页中的详情内容,也包括附加内容,例如广告链接、推送资讯、评论等附加内容,从而,在进行关键字匹配之前,从详情页的页面数据中提取出主体内容。其中提取主体内容的方法,例如通过上文所提到的根据页面数据中的标签,例如body标签、title标签等,还可以根据CSS选择器来进行主体内容的定位和提取。根据所提取的主体内容来进行关键字匹配,如果主体内容中至少匹匹配到一个所关注关键字,即将该主体内容所在网页页面确定为在监控站点下与所关注关键字相匹配的网页信息。
在一实施例中,站点监控信息包括网页信息的推送路径,步骤S190之后,网页信息获取方法还包括:
根据推送路径推送所获得的网页信息。
其中,推送路径用于指示接收所推送网页信息的地址,从而按照站点监控信息中所配置的推送路径进行推送,推送路径中所指示的地址可以是接收用户的邮箱、接收用户的社交账号、用户提供的群的地址标识等,在此不进行具体限定。
在一具体实施例中,为了进行网页信息的推送,根据所获取的网页信息生成推送信息,其中推送信息中可以包括网页信息的标题、网页信息的链接等,还可以包括网页信息的摘要、以及网页信息所匹配到的关键字等,在此不进行具体限定。
图15是根据一示例性实施例示出的推送信息的示意图,如图15所示,根据所获取的网页信息生成的推送信息包括:标题、网页信息所匹配到的关键字、网页信息的链接。在其他实施例中,所生成的推送消息还可以包括更多或者更少的内容,例如还可以包括网页信息的摘要等。
在一实施例中,网页信息获取方法还包括:
根据监控类型、所获得详情页的页面数据、网页信息以及所对应匹配到的关键字和所对应的推送状态生成推送列表,其中推送状态用于指示所对应网页信息是否被推送。
通过所生成的推送列表可以了解到网页信息的推送情况、以及分析所爬取到详情页的页面数据与监控类型是否匹配等。
如上所描述,本公开的网页信息获取方法由部署于爬取服务器130中的系统来执行。其中,所部署的系统一方面与用户进行交互,即用户在系统上为监控类型配置站点监控信息,另一方面与监控站点服务器进行交互,从而爬取服务器根据为监控类型所配置的站点监控信息进行网页爬取,从监控站点服务器获得在监控站点下与所关注关键字匹配的网页信息。在一实施例中,将在爬取服务器上所部署的系统划分为两个互相通信的系统,即一个系统用于与用户交互,另一个系统与监控站点服务器进行交互,从站点服务器爬取得到对应的页面数据。
在一具体实施例中,如图16所示,通过部署于爬取服务器130中的爬虫配置系统310和分布式爬虫系统330来执行本公开网页信息获取的方法。其中爬虫配置系统310作为与用户进行交互的系统,分布式爬虫系统330作为与监控站点服务器进行交互的系统。
在图16示出了本公开技术方案的流程图,如图16所示:
1、用户在爬虫配置系统310中进行监控站点的配置,其中所进行的配置至少包括选择监控类型、监控类型下监控站点的地址信息、在监控类型下所关注的关键字、推送路径。
2、爬虫配置系统310将用户进行配置得到的站点监控信息下发到分布式爬虫系统330。
3、分布式爬虫系统330根据站点监控信息进行网页爬取,即向外部监控站点350发起网页请求。
4、分布式爬虫系统330接收从外部监控站点350所返回的页面数据。分布式爬虫系统330所进行网页爬取不仅包括根据站点监控信息中地址信息进行网页爬取,还包括根据所爬取到列表页的页面数据中的网页信息链接进行网页爬取。也即是说,3和4的步骤是循环执行的,直至分布式爬虫系统330所接收到的页面数据为详情页的页面数据。
5、分布式爬虫系统330将所爬取到详情页的页面数据返回到爬虫配置系统310。爬虫配置系统310一方面进行详情页的页面数据的存储,另一方面,根据站点监控信息中所配置所关注关键字进行关键字匹配,从而获得在监控站点下与所关注关键字匹配的网页信息。
6、爬虫配置系统310根据所配置的推送路径将网页信息推送至目标用户所在的终端设备370。
在图17和图18中,对本实施例中的爬虫配置系统以及分布式爬虫系统的工作流程以及组成模块进行了详细的说明。
如图17所示,分布式爬虫系统330包括调度器、爬取器、结果处理器和用于存储所爬取得到的详情页数据的存储回调模块,以及用于对调度器、爬取器、结果处理器以及存储回调模块进行监控管理的页面控制器,其中
调度器:用于从调度器消息队列或者轮询任务中生成网络请求任务。其中调度器采用多线程模型,对所生成的网络请求任务按照优先调度算法进行集中调度,依次放入请求消息队列中,等待爬取器进行进一步处理。
爬取器:从请求消息队列中取出网络请求任务,进行网页爬取,从监控站点服务器拉取页面数据,将页面数据依次放入结果处理消息队列中,等待结果处理器处理;
结果处理器:从结果处理消息队列中取出页面数据,如果页面数据为详情页所对应的页面数据,则将数据写入存储消息队列,等待存储回调处理,如果数据为列表页所对应的页面数据,则分析出继续进行网页爬取的链接,并写入调度器的消息队列中,等待调度器处理;
存储回调模块:从存储消息队列中取出页面数据,如果有用户定义的回调脚本,将执行用户的脚本,如果没有,则将数据存储至默认的数据库中,等待后续爬虫配置系统拉取数据。
四个模块之间用消息队列系统进行通信,所以相互不产生强依赖,每个模块可以在不同的服务器docker节点上单独部署,并且可以平行扩容。在运行过程中,对各个模块的流量以及任务状态进行监控,当任务增多时,只需要将相应的瓶颈节点进行平行扩容即可,增加队列的消费能力,就能承载更大的爬取任务。
爬虫配置系统包括:监控类型配置模块、监控站点配置模块、关键字配置模块、推送路径配置模块、推送列表生成模块以及爬虫预览模块。
其中监控类型配置模块用于配置监控类型,例如在预设的监控类型中选择监控类型,或者根据需要新增监控类型。
监控站点配置模块用于进行监控站点配置,其中,所进行的监控站点配置至少包括配置监控站点的地址信息,在其他实施例中,还包括为监控站点所配置的匹配条件、配置调用无头浏览器、配置通过代理服务器进行网页爬取等,在此不进行具体限定。
关键字配置模块用于配置在监控类型下所关注的关键字。
推送路径配置模块用于配置推送路径,以按照所配置的推送路径推送所获取的网页信息。
推送列表生成模块用于根据监控类型、所获得详情页的页面数据、所获得的网页信息以及所对应匹配到的关键字和所对应的推送状态生成推送列表,其中推送状态用于指示所对应网页信息是否被推送。
爬虫预览模块用于显示爬虫所进行的网页爬取。
如图18所示,在爬虫配置系统依次进行监控站点的配置、所关注关键字的配置,在爬虫配置系统完成配置之后,将站点监控信息下发到分布式爬虫系统。分布式爬虫系统的调度器进行轮询调度,当轮询到为监控类型所配置的站点监控信息时,对所配置的站点监控信息生成网络请求任务,并将网络请求任务添加至请求消息队列中。其中分布式爬虫系统采用多线程启动调度器,周期性地轮询在爬虫配置系统中为监控类型所配置的站点监控信息。另一方面,调度器还接收结果处理器发送的任务。调度器将所有的网络请求任务通过优先调度算法进行排序,依次将网络请求任务添加进请求消息队列中,等待爬取器处理。
爬取器从请求消息队列中取出网络请求任务进行网页爬取,获得所爬取网页的页面数据。其中,爬取器采用协程大并发地消费请求消息队列中的网络请求任务,异步发送网络请求。将爬取获得的页面数据以及对应的网络请求任务的类型写入结果处理的消息队列中,等待结果处理器处理。在爬取器请求失败时,采用重试策略进行网络请求的重试。
结果处理器从结果处理的消息队列取出页面数据,和所对应网络请求任务的类型,并对页面数据进行分析,来判断所获取的页面数据所对应网页页面为列表页还是详情页。如果是列表页,则提取出待爬取的网页信息链接,并写入调度器的消息队列中,等待调度器执行;如果是详情页,则对所获取的页面数据中的正文内容进行智能分析提取所需的详情页的页面数据,并将详情页的页面数据写入存储消息队列中。
存储回调模块从存储消息队列中取出详情页的页面数据,如果在分布式爬虫系统中有用户自定义的脚本,则加载自定义的脚本是执行(例如将详情页的页面数据存入用户自定义的数据库中以进行进一步处理);如果没有用户自定义脚本,则将详情页的页面数据存储在爬虫启动时配置的存储数据库(即存储DB)中,等待爬虫配置系统拉取详情页的页面数据。
爬虫配置系统从数据库中拉取详情页的页面数据,并根据所配置的关键字对页面数据进行关键字匹配,如果所拉取的详情页的页面数据匹配到所配置的关键字,则将该页面数据所在网页确定为所关注的网页信息,并进行推送,例如推送到微信群、邮件客户端等,并进行推送情况统计。爬虫配置系统还根据所拉取的详情页的页面数据记录分布式爬虫系统的抓取情况,即在所记录的抓取情况中对应记录匹配到所关注关键字的页面数据以及未匹配到所关注关键字的页面数据,从而便于对分布式爬虫系统的性能进行进一步优化。
下述为本公开装置实施例,可以用于执行本公开上述爬虫服务器130执行的网页信息获取方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开网页信息获取方法实施例。
图19是根据一示例性实施例示出的一种网页信息获取装置的框图,该网页信息获取装置可以用于图1所示实施环境的爬取服务器130中,执行上述任一方法实施例所示的网页信息获取方法的全部或者部分步骤。如图19所示,该网页信息获取装置包括但不限于:
轮询模块110,用于为进行网页信息的获取,轮询所配置的不同监控类型。
站点监控信息获取模块130,用于对轮询到的监控类型,获取为监控类型所配置的站点监控信息,站点监控信息用于指示监控类型下各监控站点的地址信息以及在各监控站点关注的关键字。
网页爬取模块150,用于根据地址信息进行网页爬取,获得所对应的页面数据。
网页页面类型确定模块170,用于根据所获得的页面数据确定所对应网页页面的类型,网页页面的类型包括列表页和详情页。
列表页处理模块180,在页面数据所对应的网页页面为列表页时,根据页面数据中携带的链接信息获得继续进行网页爬取的地址信息,再转至网页爬取模块150。
详情页处理模块190,用于在页面数据对应的网页页面为详情页时,对页面数据进行关键字匹配,获得在监控站点下与所关注关键字相匹配的网页信息。
上述装置中各个模块的功能和作用的实现过程具体详见上述网页信息获取方法中对应步骤的实现过程,在此不再赘述。
可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图2的中央处理器270所执行的存储在存储器250中的程序。
在一实施例中,网页信息获取装置还包括:
配置模块,用于根据对监控类型触发进行的监控站点配置,将对监控类型所配置的站点监控信息配置到网页信息获取的执行中。
在一实施例中,网页爬取模块150包括:
网络请求任务生成单元,用于根据所获取站点监控信息中的地址信息和/或根据从列表页中所获得继续进行网页爬取的地址信息生成网络请求任务。
任务添加单元,用于将网络请求任务添加至请求消息队列中。
网页爬取单元,用于在请求消息队列,对网络请求任务执行网页爬取,获得对应于网络请求任务的页面数据。
在一实施例中,网页爬取单元包括:
动态页面确定单元,用于对请求消息队列中的网络请求任务,根据网络请求任务中携带的地址信息识别请求爬取的网页页面是否为动态页面。
页面数据获取单元,用于如果请求爬取的网页页面是动态页面,调用无头浏览器进行网页加载,获得动态页面所对应的页面数据。
在一实施例中,页面数据获取单元包括:
页面代码信息获取单元,用于根据网络请求任务发起网页请求,获得动态页面的页面代码信息。
页面加载单元,用于调用无头浏览器根据页面代码信息进行页面加载。
点击事件触发单元,用于在无头浏览器所加载的页面上,根据预设的触发信息触发进行自身所对应的点击事件,触发信息用于模拟在动态页面上可操作页面元素对应的操作。
动态数据获取单元,用于根据所触发的点击事件进行资源请求获得所对应的动态数据。
在一实施例中,网页爬取单元包括:
代理服务器调用单元,用于在触发根据请求消息队列中的网络请求任务执行网页爬取获得页面数据时,根据站点监控信息的指示调用所预设的代理服务器;
爬取单元,用于通过代理服务器根据网络请求任务进行网页爬取,获得对应于网络请求任务的页面数据。
在一实施例中,列表页处理模块180包括:
链接信息识别单元,用于在页面数据所对应的网页页面为列表页时,识别页面数据中携带的链接信息,获得对应于监控类型的网页信息链接。
地址信息获得单元,用于将所获得的网页信息链接作为继续进行网页爬取的地址信息。
在一实施例中,链接信息识别单元,包括:
链接信息提取单元,用于从页面数据中提取所携带的链接信息。
标签预测单元,用于根据训练获得的机器学习模型对每一所提取的链接信息进行标签预测。
筛选单元,用于根据所预测得到的标签筛选对应于监控类型的链接信息,所筛选得到的链接信息即为对应于监控类型的网页信息链接。
在另一实施例中,站点监控信息包括为监控类型所配置的匹配条件,链接信息识别单元,包括:
匹配单元,用于根据匹配条件对页面数据中所携带的链接信息进行匹配。
网页信息链接确定单元,用于将满足匹配条件的链接信息作为对应于监控类型的网页信息链接。
在一实施例中,详情页处理模块190,包括:
主体内容提取单元,用于在页面数据对应的网页页面为详情页时,从页面数据中提取详情页的主体内容。
关键字匹配单元,用于将每一所关注关键字在主体内容中进行匹配;
网页信息确定单元,用于若在主体内容中至少匹配到一个所关注关键字,则将正文内容所在网页页面确定为在监控站点下与所关注关键字相匹配的网页信息。
在一实施例中,站点监控信息包括网页信息的推送路径,网页信息获取装置还包括:
推送模块,用于根据推送路径推送所获得的网页信息。
在一实施例中,网页信息获取装置,还包括:
推送列表生成模块,用于根据监控类型、所获得详情页的页面数据、网页信息以及所对应匹配到的关键字和所对应的推送状态生成推送列表,其中推送状态用于指示所对应网页信息是否被推送。
需要说明的是,上述各实施例所提供的装置在进行相关处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
另外,上述实施例所提供的装置与方法实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
可选的,本公开还提供一种网页信息获取装置,该网页信息获取装置可以用于图1所示实施环境的爬取服务器130中,执行以上方法实施例中任一所示的网页信息获取方法的全部或者部分步骤。网页信息获取装置包括:
处理器;及
存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时实现如上任一方法实施例中的网页信息获取方法。
该实施例中的装置的处理器执行操作的具体方式已经在有关该网页信息获取方法的实施例中执行了详细描述,此处将不做详细阐述说明。
在一示例性实施例中,还公开了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的网页信息获取方法。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (12)

1.一种网页信息获取方法,其特征在于,所述方法包括:
轮询所配置的不同检测类型,以进行网页信息的获取;
获取为所述检测类型所配置的站点检测信息,所述站点检测信息用于指示所述检测类型下各检测站点的地址信息、在所述各检测站点关注的关键字、以及在所述各检测站点下与所关注的关键字匹配的网页信息的推送路径;
根据所述地址信息进行网页爬取,获得所对应的页面数据;
根据所获得的页面数据确定所对应网页页面的类型,所述网页页面的类型包括列表页和详情页,所述列表页是指主体内容为带链接的标题或者带链接的图片的网页页面,所述详情页是指网页页面上的主体内容为详情内容的网页页面;
在所述页面数据所对应的网页页面为列表页时,识别所述页面数据中携带的链接信息,获得对应于所述检测类型的网页信息链接;将所获得的所述网页信息链接作为继续进行网页爬取的地址信息,以及进行网页爬取,以获得所对应的页面数据;
在所述页面数据对应的网页页面为详情页时,从所述页面数据中提取主体内容;将每一所关注关键字在所述主体内容中进行匹配;若在所述主体内容中至少匹配到一个所述所关注关键字,则将所述主体内容所在网页页面确定为在所述检测站点下与所关注关键字相匹配的网页信息;
根据所述网页信息生成推送信息,所述推送信息包括所述网页信息的标题、所述网页信息所匹配到的关键字、所述网页信息的链接;
根据所述网页信息的推送路径,推送所述推送信息,所述推送路径用于指示接收所述网页信息的地址,对应于所述网页信息的关注方。
2.根据权利要求1所述的方法,其特征在于,所述获取为所述检测类型所配置的站点检测信息之前,所述方法还包括:
根据对所述检测类型触发进行的检测站点配置,将为所述检测类型所配置的站点检测信息配置到所述网页信息获取的执行中。
3.根据权利要求1所述的方法,其特征在于,所述根据所述地址信息进行网页爬取,获得所对应的页面数据,包括:
根据所获取所述站点检测信息中的地址信息和/或根据从列表页中所获得继续进行网页爬取的地址信息生成网络请求任务;
将所述网络请求任务添加至请求消息队列中;
在所述请求消息队列,对所述网络请求任务执行网页爬取,获得对应于所述网络请求任务的页面数据。
4.根据权利要求3所述的方法,其特征在于,所述在所述请求消息队列,对所述网络请求任务执行网页爬取,获得对应于所述网络请求任务的页面数据,包括:
对所述请求消息队列中的所述网络请求任务,根据所述网络请求任务中携带的地址信息识别请求爬取的网页页面是否为动态页面;
如果请求爬取的网页页面是动态页面,则调用无头浏览器进行网页加载,获得所述动态页面所对应的页面数据。
5.根据权利要求4所述的方法,其特征在于,所述动态页面所对应的页面数据包括页面代码信息和动态数据,所述调用无头浏览器进行网页加载,获得所述动态页面所对应的页面数据,包括:
根据所述网络请求任务发起网页请求,获得所述动态页面的页面代码信息;
调用所述无头浏览器根据所述页面代码信息进行页面加载;
在所述无头浏览器所加载的页面上,根据预设的触发信息触发对应的点击事件,所述触发信息用于模拟所述动态页面上可操作页面元素对应的操作;
根据所触发的点击事件进行资源请求获得所对应的动态数据。
6.根据权利要求3所述的方法,其特征在于,所述在所述请求消息队列,对所述网络请求任务执行网页爬取,获得对应于所述网络请求任务的页面数据,包括:
在触发根据所述请求消息队列中的网络请求任务进行网页爬取获得页面数据时,根据所述站点检测信息的指示调用所预设的代理服务器;
通过所述代理服务器根据所述网络请求任务进行网页爬取,获得对应于所述网络请求任务的页面数据。
7.根据权利要求1所述的方法,其特征在于,所述在所述页面数据所对应的网页页面为列表页时,识别所述页面数据中所携带的链接信息,获得对应于所述检测类型的网页信息链接,包括:
从所述页面数据中提取所携带的链接信息;
根据训练获得的机器学习模型对每一所提取的所述链接信息进行标签预测;
根据所预测得到的标签筛选对应于所述检测类型的链接信息,所筛选得到的链接信息即为对应于所述检测类型的网页信息链接。
8.根据权利要求1所述的方法,其特征在于,所述站点检测信息包括为所述检测类型所配置的匹配条件,所述在所述页面数据所对应的网页页面为列表页时,识别所述页面数据中携带的链接信息,获得对应于所述检测类型的网页信息链接,包括:
根据所述匹配条件对所述页面数据中所携带的链接信息进行匹配;
将满足所述匹配条件的链接信息作为对应于所述检测类型的网页信息链接。
9.一种网页信息获取装置,其特征在于,所述装置包括:
轮询模块,用于轮询所配置的不同检测类型,以进行网页信息的获取;
站点检测信息获取模块,用于获取为所述检测类型所配置的站点检测信息,所述站点检测信息用于指示所述检测类型下各检测站点的地址信息、在所述各检测站点关注的关键字、以及在所述各检测站点下与所关注的关键字匹配的网页信息的推送路径;
网页爬取模块,用于根据所述地址信息进行网页爬取,获得所对应的页面数据;
网页页面类型确定模块,用于根据所获得的页面数据确定所对应网页页面的类型,所述网页页面的类型包括列表页和详情页,所述列表页是指主体内容为带链接的标题或者带链接的图片的网页页面,所述详情页是指网页页面上的主体内容为详情内容的网页页面;
列表页处理模块,用于在所述页面数据所对应的网页页面为列表页时,识别所述页面数据中携带的链接信息,获得对应于所述检测类型的网页信息链接;将所获得的所述网页信息链接作为继续进行网页爬取的地址信息,再转至网页爬取模块;
详情页处理模块,用于在所述页面数据对应的网页页面为详情页时,从所述页面数据中提取主体内容;将每一所关注关键字在所述主体内容中进行匹配;若在所述主体内容中至少匹配到一个所述所关注关键字,则将所述主体内容所在网页页面确定为在所述检测站点下与所关注关键字相匹配的网页信息;
信息推送模块,用于根据所述网页信息生成推送信息,所述推送信息包括所述网页信息的标题、所述网页信息所匹配到的关键字、所述网页信息的链接;根据所述网页信息的推送路径,推送所述推送信息,所述推送路径用于指示接收所述网页信息的地址,对应于所述网页信息的关注方。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
配置模块,用于根据对所述检测类型触发进行的检测站点配置,将为所述检测类型所配置的站点检测信息配置到所述网页信息获取的执行中。
11.一种网页信息获取装置,其特征在于,所述装置包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至8中任一项所述的网页信息获取方法。
12.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至8中任一项所述的网页信息获取方法。
CN201910145450.2A 2019-02-27 2019-02-27 网页信息获取方法、装置和计算机可读存储介质 Active CN109902220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910145450.2A CN109902220B (zh) 2019-02-27 2019-02-27 网页信息获取方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910145450.2A CN109902220B (zh) 2019-02-27 2019-02-27 网页信息获取方法、装置和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109902220A CN109902220A (zh) 2019-06-18
CN109902220B true CN109902220B (zh) 2023-11-24

Family

ID=66945686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910145450.2A Active CN109902220B (zh) 2019-02-27 2019-02-27 网页信息获取方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109902220B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159517A (zh) * 2019-12-12 2020-05-15 深信服科技股份有限公司 一种信息处理方法、设备、系统和计算机存储介质
CN111061955B (zh) * 2019-12-20 2023-11-07 深圳市朱墨科技有限公司 网页正文的提取方法、装置、服务器和存储介质
CN111177519B (zh) * 2019-12-30 2024-02-02 广州市百果园网络科技有限公司 网页内容获取方法、装置、存储介质及设备
CN111104579A (zh) * 2019-12-31 2020-05-05 北京神州绿盟信息安全科技股份有限公司 一种公网资产的识别方法、装置及存储介质
CN111813623B (zh) * 2020-06-29 2024-02-27 北京百度网讯科技有限公司 一种页面监控方法、装置、电子设备及存储介质
CN111859076B (zh) * 2020-07-31 2024-04-02 平安健康保险股份有限公司 数据爬取方法、装置、计算机设备及计算机可读存储介质
CN112765432A (zh) * 2021-01-11 2021-05-07 北京微步在线科技有限公司 基于Python的安全威胁情报获取方法及系统
CN113609411B (zh) * 2021-06-25 2024-06-14 北京华云安信息技术有限公司 通过网络爬虫爬取页面信息的方法
CN113419781A (zh) * 2021-07-19 2021-09-21 湖南四方天箭信息科技有限公司 基于Chrome插件的爬虫方法、装置、计算机设备和存储介质
CN114254219A (zh) * 2021-12-17 2022-03-29 北京金堤科技有限公司 数据获取方法及其装置、计算机存储介质、电子设备
CN114491206A (zh) * 2022-01-04 2022-05-13 电子科技大学 一种用于新闻博客类网站的通用低代码爬虫方法及系统
CN115017430B (zh) * 2022-06-27 2024-10-18 京东科技控股股份有限公司 列表页面的确定方法、装置、电子设备及存储介质
CN115827953B (zh) * 2023-02-20 2023-05-12 中航信移动科技有限公司 用于网页数据抽取的数据处理方法、存储介质及电子设备

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101676907A (zh) * 2008-09-16 2010-03-24 北京雷速科技有限公司 一种互联网资源定向获取方法及系统
CN103310012A (zh) * 2013-07-02 2013-09-18 北京航空航天大学 一种分布式网络爬虫系统
CN104462547A (zh) * 2014-12-25 2015-03-25 深圳联友科技有限公司 一种可配置的网页数据采集的方法及系统
WO2015165034A1 (zh) * 2014-04-29 2015-11-05 华为技术有限公司 加载网页的方法和装置
CN105279272A (zh) * 2015-10-30 2016-01-27 南京未来网络产业创新有限公司 一种基于分布式网络爬虫的内容聚合方法
CN105740294A (zh) * 2014-12-12 2016-07-06 腾讯科技(深圳)有限公司 一种信息推送方法及设备
CN105893583A (zh) * 2016-04-01 2016-08-24 北京鼎泰智源科技有限公司 基于人工智能的数据采集方法及系统
CN105955984A (zh) * 2016-04-19 2016-09-21 中国银联股份有限公司 基于爬虫模式的网络数据搜索方法
CN106412003A (zh) * 2015-07-30 2017-02-15 阿里巴巴集团控股有限公司 信息推送方法、装置及信息请求装置
CN106844486A (zh) * 2016-12-23 2017-06-13 北京奇虎科技有限公司 爬取动态网页的方法及装置
CN107784113A (zh) * 2017-11-08 2018-03-09 深圳市科盾科技有限公司 Html网页数据采集方法、装置和计算机可读存储介质
CN107885777A (zh) * 2017-10-11 2018-04-06 北京智慧星光信息技术有限公司 一种基于协作式爬虫的抓取网页数据的控制方法及系统
CN108717435A (zh) * 2018-05-16 2018-10-30 腾讯科技(深圳)有限公司 网页加载方法、信息处理方法、计算机设备及存储介质
CN109101600A (zh) * 2018-08-01 2018-12-28 沈文策 一种网页中动态数据的爬取方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160344831A1 (en) * 2015-05-21 2016-11-24 Google Inc. Proxy service for content requests

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101676907A (zh) * 2008-09-16 2010-03-24 北京雷速科技有限公司 一种互联网资源定向获取方法及系统
CN103310012A (zh) * 2013-07-02 2013-09-18 北京航空航天大学 一种分布式网络爬虫系统
WO2015165034A1 (zh) * 2014-04-29 2015-11-05 华为技术有限公司 加载网页的方法和装置
CN105740294A (zh) * 2014-12-12 2016-07-06 腾讯科技(深圳)有限公司 一种信息推送方法及设备
CN104462547A (zh) * 2014-12-25 2015-03-25 深圳联友科技有限公司 一种可配置的网页数据采集的方法及系统
CN106412003A (zh) * 2015-07-30 2017-02-15 阿里巴巴集团控股有限公司 信息推送方法、装置及信息请求装置
CN105279272A (zh) * 2015-10-30 2016-01-27 南京未来网络产业创新有限公司 一种基于分布式网络爬虫的内容聚合方法
CN105893583A (zh) * 2016-04-01 2016-08-24 北京鼎泰智源科技有限公司 基于人工智能的数据采集方法及系统
CN105955984A (zh) * 2016-04-19 2016-09-21 中国银联股份有限公司 基于爬虫模式的网络数据搜索方法
CN106844486A (zh) * 2016-12-23 2017-06-13 北京奇虎科技有限公司 爬取动态网页的方法及装置
CN107885777A (zh) * 2017-10-11 2018-04-06 北京智慧星光信息技术有限公司 一种基于协作式爬虫的抓取网页数据的控制方法及系统
CN107784113A (zh) * 2017-11-08 2018-03-09 深圳市科盾科技有限公司 Html网页数据采集方法、装置和计算机可读存储介质
CN108717435A (zh) * 2018-05-16 2018-10-30 腾讯科技(深圳)有限公司 网页加载方法、信息处理方法、计算机设备及存储介质
CN109101600A (zh) * 2018-08-01 2018-12-28 沈文策 一种网页中动态数据的爬取方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
An Approach for Crawling Dynamic WebPages Based on Script Language Analysis;Zhang Yao 等;2012 Ninth Web Information Systems and Applications Conference;35-38 *
政府网站移动搜索的日志挖掘和个性化改进;叶小榕 等;科技导报;第32卷(第36期);110-116 *

Also Published As

Publication number Publication date
CN109902220A (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
CN109902220B (zh) 网页信息获取方法、装置和计算机可读存储介质
US9489237B1 (en) Dynamic tree determination for data processing
CN101111836B (zh) 用于信息捕获及检索的方法及系统
US8756614B2 (en) Central registry for binding features using dynamic pointers
US8756593B2 (en) Map generator for representing interrelationships between app features forged by dynamic pointers
US8589876B1 (en) Detection of central-registry events influencing dynamic pointers and app feature dependencies
US20080282186A1 (en) Keyword generation system and method for online activity
US20050223027A1 (en) Methods and systems for structuring event data in a database for location and retrieval
US20130332398A1 (en) Monitoring and replaying user behaviors on the web
US20150046425A1 (en) Methods and systems for searching software applications
CN103034518B (zh) 加载浏览器控制工具的方法及浏览器
WO2019171328A1 (en) Flexible and scalable artificial intelligence and analytics platform with advanced content analytics and data ingestion
CN111666490A (zh) 基于kafka的信息推送方法、装置、设备及存储介质
US20130232424A1 (en) User operation detection system and user operation detection method
US20150089415A1 (en) Method of processing big data, apparatus performing the same and storage media storing the same
KR102284761B1 (ko) 내장가능형 미디어 콘텐츠 검색 위젯
WO2021068681A1 (zh) 标签分析方法、装置及计算机可读存储介质
Chang A survey of modern crawler methods
CN111125485A (zh) 基于Scrapy的网站URL爬取方法
US20240095298A1 (en) Systems and methods for rendering interactive web pages
Deka NoSQL web crawler application
US11500945B2 (en) System and method of crawling wide area computer network for retrieving contextual information
Agrawal et al. A survey on content based crawling for deep and surface web
US20240176732A1 (en) Advanced application of model operations in energy
CN113742550B (zh) 基于浏览器的数据获取方法、装置和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TG01 Patent term adjustment