网页内容获取方法、装置和电子设备制造方法及图纸

技术编号:37548378 阅读:11 留言:0更新日期:2023-05-12 16:24
本发明专利技术提供一种网页内容获取方法、装置和电子设备。该方法包括:判断各子线程对应的各待爬取队列是否为空;当所述待爬取队列不为空时,运行爬取进程,在所述待爬取队列中爬取目标URL,以获取所述目标URL对应的网页;获取爬取所述目标URL后的响应信息;当所述响应信息为响应成功信息时,确定所述目标URL对应的网页获取成功,并执行页面解析操作,对所述网页进行解析以获取目标网页数据;存储所述目标网页数据。该方法采用多线程的方式进行网页数据的获取,爬取速度快效率高,并且将爬取失败的目标URL重新加入到待爬取队列中,提高了网页数据爬取的稳定性。数据爬取的稳定性。数据爬取的稳定性。

【技术实现步骤摘要】
网页内容获取方法、装置和电子设备


[0001]本专利技术涉及互联网
,尤其涉及一种网页内容获取方法、装置和电子设备。

技术介绍

[0002]通用搜索引擎的处理对象是互联网网页,目前互联网网页的数量已达百亿,所以搜索引擎首先面临的问题是:如何能够设计出高效的下载系统,将如此的海量的网页数据传送到本地,在本地形成互联网网页的镜像备份。
[0003]网络爬虫能够起到这样的作用,完成此艰巨任务。网络爬虫是搜索引擎中很关键也很基础的构件,尽管爬虫经过几十年的发展,从整体框架上来看已经相对成熟,但随着互联网的不断发展,也面临着一些新的挑战。网络爬虫爬取数据是一个典型的多任务处理场景,请求页面时会有较长的延迟,总体来说更多的是等待,这使得网络爬虫爬取速度慢,效率低下。

技术实现思路

[0004]本专利技术提供一种网页内容获取方法、装置和电子设备,用以解决现有技术中网络爬取速度慢、效率低的问题,实现多线程的方式进行网页数据的获取,爬取速度快效率高,并且将爬取失败的目标URL重新加入到待爬取队列中,提高了网页数据爬取的稳定性。
[0005]本专利技术提供一种网页内容获取方法,包括:
[0006]判断各子线程对应的各待爬取队列是否为空;
[0007]当所述待爬取队列不为空时,运行爬取进程,在所述待爬取队列中爬取目标URL,以获取所述目标URL对应的网页;
[0008]获取爬取所述目标URL后的响应信息;
[0009]当所述响应信息为响应成功信息时,确定所述目标URL对应的网页获取成功,并执行页面解析操作,对所述网页进行解析以获取目标网页数据;
[0010]存储所述目标网页数据。
[0011]根据本专利技术提供的一种网页内容获取方法,还包括:
[0012]当所述响应信息为响应失败信息时,确定所述目标URL对应的网页获取失败,并将所述目标URL重新放入所述待爬取列队中。
[0013]根据本专利技术提供的一种网页内容获取方法,还包括:
[0014]当所述待爬取队列为空时,结束对应的所述子线程。
[0015]根据本专利技术提供的一种网页内容获取方法,所述判断各子线程对应的各待爬取队列是否为空之前,还包括:
[0016]获取多个种子URL,根据预设规则将多个所述种子URL分别放入各子线程的待爬取队列中。
[0017]根据本专利技术提供的一种网页内容获取方法,所述预设规则包括预设优先级;
[0018]所述获取多个种子URL,根据预设规则将多个所述种子URL分别放入各子线程的待
爬取队列中,包括:
[0019]获取多个种子URL,根据所述种子URL所属子线程对多个所述种子URL进行分组;
[0020]将多组所述种子URL分别按照预设优先级进行排序;
[0021]将排序后的多组所述种子URL分别放入所属的所述子线程对应的待爬取队列中。
[0022]根据本专利技术提供的一种网页内容获取方法,在java语言中,所述待爬取队列为LinkedList或List。
[0023]本专利技术还提供一种网页内容获取装置,该装置包括:
[0024]判断模块,用于判断各子线程对应的各待爬取队列是否为空;
[0025]运行模块,用于当所述待爬取队列不为空时,运行爬取进程,在所述待爬取队列中爬取目标URL,以获取所述目标URL对应的网页;
[0026]获取模块,用于获取爬取所述目标URL后的响应信息;
[0027]解析模块,用于当所述响应信息为响应成功信息时,确定所述目标URL对应的网页获取成功,并执行页面解析操作,对所述网页进行解析以获取目标网页数据;
[0028]存储模块,用于存储所述目标网页数据。
[0029]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述网页内容获取方法。
[0030]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述网页内容获取方法。
[0031]本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述网页内容获取方法。
[0032]本专利技术提供的网页内容获取方法、装置和电子设备,一方面,通过各子线程来获取网页数据,以多线程的方式提高了爬取速度和效率,进一步的提升了网页解析和网页数据下载能力;另一方面,将爬取失败的目标URL重新加入到待爬取队列中,提高了网页数据爬取的稳定性。
附图说明
[0033]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034]图1是本专利技术提供的网页内容获取方法的流程示意图之一;
[0035]图2是本专利技术提供的网页内容获取方法的流程示意图之二;
[0036]图3是本专利技术提供的获取多个种子URL并放入各子线程的待爬取队列中的方法的流程示意图;
[0037]图4是本专利技术提供的网页内容获取装置的结构示意图;
[0038]图5是本专利技术提供的电子设备的结构示意图。
具体实施方式
[0039]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0040]下面结合图1

图3描述本专利技术的一种网页内容获取方法,如图1中所示,该方法包括:
[0041]S101:判断各子线程对应的各待爬取队列是否为空。
[0042]S102:当所述待爬取队列不为空时,运行爬取进程,在所述待爬取队列中爬取目标URL,以获取所述目标URL对应的网页。
[0043]S103:获取爬取所述目标URL后的响应信息。
[0044]S104:当所述响应信息为响应成功信息时,确定所述目标URL对应的网页获取成功,并执行页面解析操作,对所述网页进行解析以获取目标网页数据。
[0045]S105:存储所述目标网页数据。
[0046]具体的,该方法可以应用于网络设备端,例如,可以由网络爬虫通过网络设备来执行。首先,该方法需要判断各子线程对应的各待爬取队列是否是空的,如果是空的则不需要运行对应的爬取进程。如果待爬取队列不是空的,则运行该待爬取队列对应的爬取进程,在待爬取队列中爬取目标URL,以用于获得目标URL对应的网页。可以理解的是,可以将各子线程对应的各待爬取队列在数据库中进行存储,以便于异常情况下可以从数据库中调用各待爬取队本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网页内容获取方法,其特征在于,包括:判断各子线程对应的各待爬取队列是否为空;当所述待爬取队列不为空时,运行爬取进程,在所述待爬取队列中爬取目标URL,以获取所述目标URL对应的网页;获取爬取所述目标URL后的响应信息;当所述响应信息为响应成功信息时,确定所述目标URL对应的网页获取成功,并执行页面解析操作,对所述网页进行解析以获取目标网页数据;存储所述目标网页数据。2.根据权利要求1所述网页内容获取方法,其特征在于,还包括:当所述响应信息为响应失败信息时,确定所述目标URL对应的网页获取失败,并将所述目标URL重新放入所述待爬取列队中。3.根据权利要求1所述网页内容获取方法,其特征在于,还包括:当所述待爬取队列为空时,结束对应的所述子线程。4.根据权利要求1至3任一项所述网页内容获取方法,其特征在于,所述判断各子线程对应的各待爬取队列是否为空之前,还包括:获取多个种子URL,根据预设规则将多个所述种子URL分别放入各子线程的待爬取队列中。5.根据权利要求4所述网页内容获取方法,其特征在于,所述预设规则包括预设优先级;所述获取多个种子URL,根据预设规则将多个所述种子URL分别放入各子线程的待爬取队列中,包括:获取多个种子URL,根据所述种子URL所属子线程对多个所述种子URL进行分组;将多组所述种子URL分别按照预...

【专利技术属性】
技术研发人员:张浩然单酉朱泽孙利晓
申请(专利权)人:北京航天云路有限公司
类型:发明
国别省市:

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

1