CN115658997A - 网页数据采集方法、装置、终端及存储介质 - Google Patents
网页数据采集方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN115658997A CN115658997A CN202211314857.1A CN202211314857A CN115658997A CN 115658997 A CN115658997 A CN 115658997A CN 202211314857 A CN202211314857 A CN 202211314857A CN 115658997 A CN115658997 A CN 115658997A
- Authority
- CN
- China
- Prior art keywords
- data
- webpage
- web page
- acquisition
- rule
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种网页数据采集方法、装置、终端及存储介质。该方案可以确定目标网站并针对目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则,根据目标网站的数据源以及页面解析规则解析出网页地址,将网页地址存储至消息队列集群,从消息队列集群中提取网页地址,按照采集频率对网页地址进行采集,将采集的网页数据存储至网页内容数据库,从网页内容数据库中提取网页数据,对网页数据按照数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。本申请实施例所提供的方案可以将网址分析、网页采集和数据提取这三个步骤独立化部署,互不干扰,且有效提升了网页数据的采集效率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种网页数据采集方法、装置、终端及存储介质。
背景技术
随着互联网的迅速发展,各种网络数据呈现***式增长,如何快速地从海量的网络信息中获取网页数据成为了一大难题。传统的网页数据获取方法是通过客户端的单体软件技术,启动软件后,首先加载采集规则,然后分析网站结构,生成网站的列表,然后针对列表进行遍历访问,抓取其中的单个网页地址,得到单个网页数据后,立即进行数据提取过程,把提取出来的结构化数据存放到数据库中。
在实际使用过程中,申请人发现:如果采集过程中出现了网络异常或者程序崩溃退出,那么整个采集任务就失败了;如果某个采集任务成功后,需要更改提取的数据,如增加提取项等,按照这个传统技术方案,整个任务就需要重新执行一次,导致网页数据采集效率较低。
发明内容
本发明实施例提供一种网页数据采集方法、装置、终端及存储介质,可以将网址分析、网页采集和数据提取这三个步骤独立化部署,互不干扰,且有效提升了网页数据的采集效率。
本发明实施例提供一种网页数据采集方法,包括:
确定目标网站并针对所述目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则;
根据所述目标网站的数据源以及页面解析规则解析出网页地址,将所述网页地址存储至消息队列集群;
从所述消息队列集群中提取所述网页地址,按照所述采集频率对所述网页地址进行采集,将采集到网页数据存储至网页内容数据库;
从所述网页内容数据库中提取所述网页数据,对所述网页数据按照所述数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。
本发明实施例还提供一种网页数据采集装置,包括:
确定单元,用于确定目标网站并针对所述目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则;
解析单元,用于根据所述目标网站的数据源以及页面解析规则解析出网页地址,将所述网页地址存储至消息队列集群;
采集单元,用于从所述消息队列集群中提取所述网页地址,按照所述采集频率对所述网页地址进行采集,将采集到网页数据存储至网页内容数据库;
抽取单元,用于从所述网页内容数据库中提取所述网页数据,对所述网页数据按照所述数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。
本发明实施例还提供一种终端,所述终端包括:存储器、处理器,其中,所述存储器上存储有应用程序处理程序,所述应用程序处理程序被所述处理器执行时实现本发明实施例所提供的任一项所述的网页数据采集方法的步骤。
本发明实施例还提供一种计算机可读的存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一网页数据采集方法。
本发明实施例提供的网页数据采集方法,可以确定目标网站并针对目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则,根据目标网站的数据源以及页面解析规则解析出网页地址,将网页地址存储至消息队列集群,从消息队列集群中提取网页地址,按照采集频率对网页地址进行采集,将采集到网页数据存储至网页内容数据库,从网页内容数据库中提取网页数据,对网页数据按照数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。本申请实施例所提供的方案可以将网址分析、网页采集和数据提取这三个步骤独立化部署,互不干扰,且有效提升了网页数据的采集效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的网页数据采集方法的第一种流程示意图;
图2是本发明实施例提供的网页数据采集方法的第二种流程示意图;
图3是本发明实施例提供的网页数据采集方法的第三种流程示意图;
图4是本发明实施例提供的网页数据采集装置的第一种结构示意图;
图5是本发明实施例提供的网页数据采集装置的第二种结构示意图;
图6是本发明实施例提供的终端的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,在本文中,采用了诸如101、102等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行102后执行101等,但这些均应在本申请的保护范围之内。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明实施例提供一种网页数据采集方法,该网页数据采集方法的执行主体可以是本发明实施例提供的网页数据采集装置,或者集成了该网页数据采集装置的智能终端及服务器,其中该网页数据采集装置可以采用硬件或者软件的方式实现。
在描述本发明的技术方案之前,先对相关的技术术语进行简单解释:
网页数据:网页是一个包含html标签的纯文本文件,它可以存放在世界某个角落的某一台计算机中,是万维网中的一“页”,是超文本标记语言格式(标准通用标记语言的一个应用,文件扩展名为.html或.htm)。网页通常用图像档来提供图画,网页要通过网页浏览器来阅读。网页数据,就是指这些html数据。
url:uniform resource locator(统一资源定位***),是因特网的万维网服务程序上用于指定信息位置的表示方法。它最初是由蒂姆·伯纳斯·李发明用来作为万维网的地址,现在它已经被万维网联盟编制为互联网标准RFC1738。
单体软件:所有功能都写在一起的软件,这称为单体架构软件。
消息队列:“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。
K/V数据库:K/V数据库是指Key-value数据库,是一种以键值对存储数据的一种数据库,类似java中的map。可以将整个数据库理解为一个大的map,每个键都会对应一个唯一的值。
在现有技术当中,往往会使用单体软件技术的网页数据采集器来进行网页数据采集的,比如八爪鱼采集器、火车头采集器、后羿采集器等。具体的处理流程是:启动软件后,首先加载采集规则,然后分析网站结构,生成网站的列表,然后针对列表进行遍历访问,抓取其中的单个网页地址,得到单个网页数据后,立即进行数据提取过程,把提取出来的结构化数据存放到数据库中。然而通过这种方式,整个数据采集过程完全是串型化的,前后两个步骤依赖严重,采集网站的列表完成后,才能进行网页的数据采集过程,在网页的数据采集过程中,会同步分析网页结构,进行结构化的数据提取,如果此时网络异常或者程序崩溃了,那么整个采集过程需要重新开始;如果在解析某个网页的时候,数据提取失败,也只能把这个网页地址记录到异常日志,下次启动后依然要再次采集这个网页,重新进行数据提取。
当要快速采集完一个网站的海量网页内容时,现有技术方案只能升级采集工作站的硬件设备,采用更快的CPU和更大的内存,把同时采集的网页数量设置为更大的阀值,即便是这样,因为单台采集工作站的资源是有限的,也无法在量级上取得改善。另外,当采集任务完成后,若发现结构化的数据存在问题,如发现提取的数据不对,或者需要增加新的数据项目,这时现有的技术方案只能重新进行采集任务,会再次消耗同样的时间,对资源是极大的浪费。
基于此,本申请实施例通过把采集数据的过程进行分解,实现网址分析、网页采集和数据提取的独立化,每一个独立的过程都会把过程数据记录到特定的数据库,供后续流程使用。这个网页数据采集装置解耦了数据采集的过程,使得数据采集的过程互相独立,即便是前一个过程失败了,也不影响后续过程的执行,本方案还支持网页采集横向集群化扩展,能极大的提高海量网页的采集速度。
具体的,请参阅图1,图1是本发明实施例提供的网页数据采集方法的第一流程示意图,该网页数据采集方法的具体流程可以如下:
101、确定目标网站并针对目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则。
在确定目标网站后,可以根据该目标网站设定配置参数,该配置参数可以包括数据源的种子地址、采集频率、页面解析规则以及数据抽取规则等。具体可以预先针对不同的目标网站设置不同的配置参数。以上述采集频率为例,在一实施例中,可以根据该网站的刷新频率来设置对应的采集频率,在另一实施例中,还可以当检测到目标网站的内容或元素有所变动时再对网页数据进行采集,当目标网站的内容或元素未变动时则无需重复进行采集,以节省***资源。
102、根据目标网站的数据源以及页面解析规则解析出网页地址,将网页地址存储至消息队列集群。
在一实施例中,在进行网址分析时可以根据目标网站的数据源所对应的配置规则来获取网站的网页列表,然后再根据页面解析规则解析出网页地址,并存入后端的消息队列集群数。
其中,消息被发送到队列集群中,消息队列集群是在消息的传输过程中保存消息的容器。具体可以通过消息队列管理器在将消息从源中继到目标时充当中间人。队列的主要目的是提供路由并保证消息的传递,如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。
103、从消息队列集群中提取网页地址,按照采集频率对网页地址进行采集,将采集到网页数据存储至网页内容数据库。
在一实施例中,在进行网页采集时可以先从消息队列集群获取待采集的网址,然后按照预先设定的采集频率对网页地址进行采集,将采集到网页数据存储至网页内容数据库。其中,上述网页数据可以包括目标网站的url数据以及html数据等。
举例来说,上述url数据可以为http://域名X/目录A/目录B/.../abc.html,该url地址的组成部分包括协议类型http、域名X、目录名A及B、以及参数abc.html。html数据则可以看作是以“.html”或“.htm”扩展名结尾的数据文件,html数据文件可以使用记事本打开,也可以使用网页编辑软件打开,其文件内容是遵循html语法、html结构、html标签、html网页规则的代码与内容组成代码内容。又名为超文本文件,又认作静态网页,是浏览器能打开的通用文本文件。在获取到上述url数据和html数据之后就可以存储至网页内容数据库当中。
104、从网页内容数据库中提取网页数据,对网页数据按照数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。
在一实施例中,在进行数据提取时,可以先从上述网页内容数据库中提取网页数据,当目标网站为多个时,则可以批量提取上述多个目标网站的网页数据。然后按照数据抽取规则进行数据抽取,该过程可以并行处理,最终将抽取到的结构化数据存储至关系型数据库中。如果整体数据提取的结果不符合预期,只需要重新执行一次数据提取任务即可。
本申请实施例通过解耦数据采集的过程,使得网址分析、网页采集和数据提取这3个核心步骤独立化部署,采用消息队列服务把网址分析和网页采集这两个过程连接起来,采用网页内容数据库把网页采集和数据提取这两个过程连接起来,最后执行数据提取任务,直接把结构化的数据存入到关系型数据库中,实现持久化。
由上所述,本发明实施例提出的网页数据采集方法可以确定目标网站并针对目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则,根据目标网站的数据源以及页面解析规则解析出网页地址,将网页地址存储至消息队列集群,从消息队列集群中提取网页地址,按照采集频率对网页地址进行采集,将采集到网页数据存储至网页内容数据库,从网页内容数据库中提取网页数据,对网页数据按照数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。本申请实施例所提供的方案可以将网址分析、网页采集和数据提取这三个步骤独立化部署,互不干扰,且有效提升了网页数据的采集效率。
根据前面实施例所描述的方法,以下将作进一步详细说明。
请参阅图2,图2是本发明实施例提供的网页数据采集方法的第二种流程示意图。所述方法包括:
201、确定目标网站并针对目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则。
在一实施例中,可以先构建数据源服务中心,从而把需要采集的网站集中起来维护,具体可以预先设定好数据源的种子地址、采集频率以及列表页面的解析规则,并且批量设定网页的数据抽取规则,以及和数据库的字段映射关系,对外提供数据源的服务接口,以供后续的网址分析器、网页采集器、数据提取器执行相应的步骤。
202、根据目标网站的数据源配置规则采集种子地址,以获得目标网站的网页列表。
203、根据页面解析规则解析网页列表,将解析出来的网页地址存储至消息队列集群。
在一实施例中,可以通过网址分析器从数据源服务中心获取数据源列表,然后依据其中一个数据源的配置规则,采集种子地址,获得网站的网页列表,然后解析网页列表数据,把解析出来的网页地址存入到后端的消息队列集群数据库。
204、从消息队列集群中提取网页地址,按照采集频率对网页地址生成模拟采集请求,并根据模拟采集请求对网页地址进行采集,将采集到网页数据存储至K/V数据库。
在一实施例中,可以通过网页采集器从消息队列集群获取待采集的网址,然后按照数据源服务中心的频率配置和设定的规则,对给定的网址发出人工模拟采集请求,如果采集成功,就把数据存入到后端的K/V数据库也即网页内容数据库。如果采集失败了,就把这个消息记录到队列集群,待后续再次采集
进一步的,将采集到网页数据存储至K/V数据库的步骤可以包括:将网页数据中的url数据作为K/V数据库中的关键字,将网页数据中的html数据作为K/V数据库中与关键字对应的值。其中,上述K/V数据库是指Key-Value数据库,是一种以键值对存储数据的一种数据库,类似java中的map。可以将整个数据库理解为一个大的map,每个键都会对应一个唯一的值。Key-Value分布式存储***查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询。
205、从K/V数据库中批量提取多个网页数据,对多个网页数据按照对应的数据抽取规则进行并行数据抽取。
206、当成功抽取到一个结构化数据时,将结构化数据存储至关系型数据库。
在该实施例中,网页数据可以包括多个,比如多个目标网站相对应的网页数据,具体可以通过数据提取器从K/V数据库批量获取网页数据,然后按照数据源服务中心中设定的网页数据抽取规则进行数据抽取,这个过程可以并行处理。如果单个网页数据抽取失败,则记录错误日志,主进程继续。如果整体数据提取的结果不符合预期,只需要重新执行一次数据提取任务,这个过程因为不涉及到网页采集,所以通常比较快的就能完成。数据每成功提取一条,就立刻记录到关系型数据库中进行持久存储。
在一实施例中,请继续参阅图3,通过该图可以看出网址分析器、网页采集器、数据提取器相互之间是独立的,我们分别用队列数据库、K/V数据库把这3个过程进行了隔离,保证了装置的可靠性,,相互直接通过异构的数据库进行消息传递。
另外我们把所有的数据源、采集参数设置、数据提取规则都统一到数据源服务中心进行管理,如此一来,网址分析器、网页采集器、数据提取器的独立性自由度就更高了,不依赖于***,也不依赖于平台,更不依赖于编程语言,只要这3个过程遵从中间数据库消息的规则,按照数据源服务中心的配置规则进行任务的执行即可,实现了随开随用,集群的横向扩展实现了无配置启动,服务更轻量级更便捷。
由上所述,本发明实施例提出的网页数据采集方法可以确定目标网站并针对目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则,根据目标网站的数据源配置规则采集种子地址,以获得目标网站的网页列表,根据页面解析规则解析网页列表,将解析出来的网页地址存储至消息队列集群,从消息队列集群中提取网页地址,按照采集频率对网页地址生成模拟采集请求,并根据模拟采集请求对网页地址进行采集,将采集到网页数据存储至K/V数据库,从网页内容数据库中批量提取多个网页数据,对多个网页数据按照对应的数据抽取规则进行并行数据抽取,当成功抽取到一个结构化数据时,将结构化数据存储至关系型数据库。本申请实施例所提供的方案可以将网址分析、网页采集和数据提取这三个步骤独立化部署,互不干扰,且有效提升了网页数据的采集效率。
为了实施以上方法,本发明实施例还提供一种网页数据采集装置,该网页数据采集装置具体可以集成在终端设备如手机、平板电脑等设备中。
例如,如图4所示,是本发明实施例提供的网页数据采集装置的第一种结构示意图。该网页数据采集装置可以包括:
确定单元301,用于确定目标网站并针对所述目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则;
解析单元302,用于根据所述目标网站的数据源以及页面解析规则解析出网页地址,将所述网页地址存储至消息队列集群;
采集单元303,用于从所述消息队列集群中提取所述网页地址,按照所述采集频率对所述网页地址进行采集,将采集到网页数据存储至网页内容数据库;
抽取单元303,用于从所述网页内容数据库中提取所述网页数据,对所述网页数据按照所述数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。
在一实施例中,请参阅图5,图5是本发明实施例提供的网页数据采集装置的第二种结构示意图,所述解析单元302可以具体包括:
获取子单元3021,用于根据所述目标网站的数据源配置规则采集种子地址,以获得所述目标网站的网页列表;
解析子单元3022,用于根据所述页面解析规则解析所述网页列表,将解析出来的网页地址存储至消息队列集群。
在一实施例中,所述采集单元303,可以具体包括:
采集子单元3031,用于按照所述采集频率对所述网页地址生成模拟采集请求,并根据所述模拟采集请求对所述网页地址进行采集;
存储子单元3032,用于当所述采集子单元3031采集成功时,将采集到网页数据存储至K/V数据库;
记录子单元3033,用于当所述采集子单元3031采集失败时,将失败消息记录至所述消息队列集群中。
本发明实施例提出的网页数据采集装置,可以确定目标网站并针对目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则,根据目标网站的数据源以及页面解析规则解析出网页地址,将网页地址存储至消息队列集群,从消息队列集群中提取网页地址,按照采集频率对网页地址进行采集,将采集到网页数据存储至网页内容数据库,从网页内容数据库中提取网页数据,对网页数据按照数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。本申请实施例所提供的方案可以将网址分析、网页采集和数据提取这三个步骤独立化部署,互不干扰,且有效提升了网页数据的采集效率。
本发明实施例还提供一种终端,如图6所示,该终端可以包括射频(RF,RadioFrequency)电路601、包括有一个或一个以上计算机可读存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(WiFi,Wireless Fidelity)模块607、包括有一个或者一个以上处理核心的处理器608、以及电源609等部件。本领域技术人员可以理解,提7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路601可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器608处理;另外,将涉及上行的数据发送给基站。通常,RF电路601包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路601还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器602可用于存储软件程序以及模块,处理器608通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及信息处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器608和输入单元603对存储器602的访问。
输入单元603可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元603可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器608,并能接收处理器608发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元603还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元604可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元604可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器608以确定触摸事件的类型,随后处理器608根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在提7中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路606、扬声器,传声器可提供用户与终端之间的音频接口。音频电路606可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路606接收后转换为音频数据,再将音频数据输出处理器608处理后,经RF电路601以发送给比如另一终端,或者将音频数据输出至存储器602以便进一步处理。音频电路606还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然提7示出了WiFi模块607,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器608是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器608可包括一个或多个处理核心;优选的,处理器608可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器608中。
终端还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理***与处理器608逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源609还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器608会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器608来运行存储在存储器602中的应用程序,从而实现各种功能:
确定目标网站并针对所述目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则;
根据所述目标网站的数据源以及页面解析规则解析出网页地址,将所述网页地址存储至消息队列集群;
从所述消息队列集群中提取所述网页地址,按照所述采集频率对所述网页地址进行采集,将采集到网页数据存储至网页内容数据库;
从所述网页内容数据库中提取所述网页数据,对所述网页数据按照所述数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对网页数据采集方法的详细描述,此处不再赘述。
由上可知,本发明实施例的终端可以确定目标网站并针对目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则,根据目标网站的数据源以及页面解析规则解析出网页地址,将网页地址存储至消息队列集群,从消息队列集群中提取网页地址,按照采集频率对网页地址进行采集,将采集到网页数据存储至网页内容数据库,从网页内容数据库中提取网页数据,对网页数据按照数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。本申请实施例所提供的方案可以将网址分析、网页采集和数据提取这三个步骤独立化部署,互不干扰,且有效提升了网页数据的采集效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读的存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种网页数据采集方法中的步骤。例如,该指令可以执行如下步骤:
确定目标网站并针对所述目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则;
根据所述目标网站的数据源以及页面解析规则解析出网页地址,将所述网页地址存储至消息队列集群;
从所述消息队列集群中提取所述网页地址,按照所述采集频率对所述网页地址进行采集,将采集到网页数据存储至网页内容数据库;
从所述网页内容数据库中提取所述网页数据,对所述网页数据按照所述数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种网页数据采集方法中的步骤,因此,可以实现本发明实施例所提供的任一种网页数据采集方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种网页数据采集方法、装置、终端及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种网页数据采集方法,其特征在于,包括:
确定目标网站并针对所述目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则;
根据所述目标网站的数据源以及页面解析规则解析出网页地址,将所述网页地址存储至消息队列集群;
从所述消息队列集群中提取所述网页地址,按照所述采集频率对所述网页地址进行采集,将采集的网页数据存储至网页内容数据库;
从所述网页内容数据库中提取所述网页数据,对所述网页数据按照所述数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。
2.如权利要求1所述的网页数据采集方法,其特征在于,所述根据所述目标网站的数据源以及页面解析规则解析出网页地址,将所述网页地址存储至消息队列集群,包括:
根据所述目标网站的数据源配置规则采集种子地址,以获得所述目标网站的网页列表;
根据所述页面解析规则解析所述网页列表,将解析出来的网页地址存储至消息队列集群。
3.如权利要求1所述的网页数据采集方法,其特征在于,所述按照所述采集频率对所述网页地址进行采集,将采集到网页数据存储至网页内容数据库,包括:
按照所述采集频率对所述网页地址生成模拟采集请求,并根据所述模拟采集请求对所述网页地址进行采集;
若采集成功,则将采集到网页数据存储至K/V数据库;
若采集失败,则将失败消息记录至所述消息队列集群中。
4.如权利要求3所述的网页数据采集方法,其特征在于,所述将采集到网页数据存储至K/V数据库,包括:
将所述网页数据中的url数据作为所述K/V数据库中的关键字;
将所述网页数据中的html数据作为所述K/V数据库中与关键字对应的值。
5.如权利要求1所述的网页数据采集方法,其特征在于,所述网页数据包括多个,所述从所述网页内容数据库中提取所述网页数据,对所述网页数据按照所述数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库,包括:
从所述网页内容数据库中批量提取多个网页数据,对所述多个网页数据按照对应的数据抽取规则进行并行数据抽取;
当成功抽取到一个结构化数据时,将所述结构化数据存储至所述关系型数据库。
6.如权利要求5所述的网页数据采集方法,其特征在于,所述方法还包括:
判断每一个网页数据的数据抽取是否成功;
当检测到单个网页数据抽取失败时,记录与当前网页数据对应的错误日志。
7.如权利要求1所述的网页数据采集方法,其特征在于,所述设定采集频率的步骤包括:
获取所述目标网站的刷新频率;
根据上述刷新频率设置所述采集频率。
8.一种网页数据采集装置,其特征在于,包括:
确定单元,用于确定目标网站并针对所述目标网站的数据源设定采集频率、页面解析规则以及数据抽取规则;
解析单元,用于根据所述目标网站的数据源以及页面解析规则解析出网页地址,将所述网页地址存储至消息队列集群;
采集单元,用于从所述消息队列集群中提取所述网页地址,按照所述采集频率对所述网页地址进行采集,将采集的网页数据存储至网页内容数据库;
抽取单元,用于从所述网页内容数据库中提取所述网页数据,对所述网页数据按照所述数据抽取规则进行数据抽取,将抽取到的结构化数据存储至关系型数据库。
9.一种终端,其特征在于,所述终端包括:存储器、处理器,其中,所述存储器上存储有应用程序处理程序,所述应用程序处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的网页数据采集方法的步骤。
10.一种计算机可读的存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的网页数据采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211314857.1A CN115658997A (zh) | 2022-10-25 | 2022-10-25 | 网页数据采集方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211314857.1A CN115658997A (zh) | 2022-10-25 | 2022-10-25 | 网页数据采集方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658997A true CN115658997A (zh) | 2023-01-31 |
Family
ID=84991952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211314857.1A Pending CN115658997A (zh) | 2022-10-25 | 2022-10-25 | 网页数据采集方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658997A (zh) |
-
2022
- 2022-10-25 CN CN202211314857.1A patent/CN115658997A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4231151A1 (en) | Data processing method, multi-cloud management system, and related device | |
CN110020293B (zh) | 多媒体数据展示方法、装置及存储介质 | |
US10956653B2 (en) | Method and apparatus for displaying page and a computer storage medium | |
CN104281394A (zh) | 智能选词的方法和装置 | |
US20140351212A1 (en) | Method and apparatus for processing reading history | |
CN103607377B (zh) | 信息分享方法、装置及*** | |
CN105847446B (zh) | 一种网络数据的获取方法、装置和*** | |
CN113010898A (zh) | 一种应用程序安全测试方法和相关装置 | |
CN112749074B (zh) | 一种测试用例推荐方法以及装置 | |
CN114115895A (zh) | 一种代码查询方法、装置、电子设备和存储介质 | |
CN110198324B (zh) | 数据监控方法、装置、浏览器及终端 | |
CN110674444A (zh) | 一种动态网页下载的方法及终端 | |
CN112328304B (zh) | 一种脚本适配方法、***、设备及计算机存储介质 | |
CN108959062B (zh) | 网页元素获取方法及装置 | |
CN108984374B (zh) | 一种数据库性能的测试方法和*** | |
CN106230919B (zh) | 一种文件上传的方法和装置 | |
WO2015070698A1 (zh) | 一种内容收藏的方法,服务器以及终端 | |
CN105631059A (zh) | 数据处理方法、数据处理装置及数据处理*** | |
CN116070052A (zh) | 界面数据传输方法、装置、终端及存储介质 | |
CN110309454B (zh) | 一种界面显示方法、装置、设备及存储介质 | |
CN115981798A (zh) | 文件解析方法、装置、计算机设备及可读存储介质 | |
CN106657281B (zh) | 文件共享方法及装置 | |
CN113065083B (zh) | 一种页面处理方法、装置、电子设备及存储介质 | |
CN115658997A (zh) | 网页数据采集方法、装置、终端及存储介质 | |
CN107798008B (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 |