对认证页面进行数据爬取的方法及装置制造方法及图纸

技术编号:37159141 阅读:13 留言:0更新日期:2023-04-06 22:22
本申请涉及一种对认证页面进行数据爬取的方法、装置、电子设备及计算机可读介质。该方法包括:执行爬虫任务以获取请求结果;由所述请求结果中提取响应状态码;在所述响应状态码为指定编码时,确定当前爬取页面为认证页面;由所述请求结果中确定认证方式;由认证账户列表中提取用户名和密码,并结合所述认证方式生成认证请求;将所述认证请求发送到当前爬取页面以获取数据。本申请涉及的对认证页面进行数据爬取的方法、装置、电子设备及计算机可读介质,能够爬取认证页面的数据,相较于普通的无法进行HTTP认证的爬虫工具,本申请能够爬取更多的页面资源。多的页面资源。多的页面资源。

【技术实现步骤摘要】
对认证页面进行数据爬取的方法及装置


[0001]本公开涉及计算机信息处理领域,具体而言,涉及一种对认证页面进行数据爬取的方法、装置、电子设备及计算机可读介质。

技术介绍

[0002]网络爬虫(或简称爬虫),是一种自动抓取互联网上数据的工具。利用爬虫抓取数据时往往从一个或若干初始网页的URL(统一资源定位器,Uniform Resource Locator)开始,获得初始网页上的URL,在抓取网页的过程中,一边按自己的业务需求对页面资源进行处理,例如截取包含某关键词的文本;一边不断从当前页面上抽取新的URL,放入爬虫队列,递归爬取,直到满足系统的一定停止条件,如达到一定的页面爬取深度。
[0003]能否获取更多、更有效的页面资源是一款爬虫工具优秀与否的基本评判标准,现有的爬虫工具主要针对没有做限制的资源进行发掘,而无法有效处理一些特殊资源,比如有认证拦截的页面资源。
[0004]因此,需要一种新的对认证页面进行数据爬取的方法、装置、电子设备及计算机可读介质。
[0005]在所述
技术介绍
部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0006]有鉴于此,本申请提供一种对认证页面进行数据爬取的方法、装置、电子设备及计算机可读介质,能够爬取认证页面的数据,相较于普通的无法进行HTTP认证的爬虫工具,本申请能够爬取更多的页面资源。
[0007]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0008]根据本申请的一方面,提出一种对认证页面进行数据爬取的方法,该方法包括:执行爬虫任务以获取请求结果;由所述请求结果中提取响应状态码;在所述响应状态码为指定编码时,确定当前爬取页面为认证页面;由所述请求结果中确定认证方式;由认证账户列表中提取用户名和密码,并结合所述认证方式生成认证请求;将所述认证请求发送到当前爬取页面以获取数据。
[0009]在本申请的一种示例性实施例中,执行爬虫队列中的爬虫任务获取请求结果之前,还包括:对目标端口进行监听以生成爬虫任务;在获取到爬虫任务后,将所述爬虫任务发送到任务池中;为任务池中的所述爬虫任务分配爬虫子进程。
[0010]在本申请的一种示例性实施例中,在获取到爬虫任务后,将所述爬虫任务发送到任务池中,包括:初始化任务状态为等待状态;在获取到爬虫任务后,将所述爬虫任务对应的任务配置储存到数据库;定时扫描数据库中的任务,以将所述爬虫任务发送到所述任务池。
[0011]在本申请的一种示例性实施例中,执行爬虫任务以获取请求结果,包括:爬虫子进程由任务池中提取所述爬虫任务;初始化爬虫客户端;将所述爬虫任务对应的目标URL加入爬虫队列以获取请求结果。
[0012]在本申请的一种示例性实施例中,初始化爬虫客户端,包括:解析数据库中的任务配置数据获取任务参数;根据所述任务参数初始化所述爬虫客户端。
[0013]在本申请的一种示例性实施例中,将所述爬虫任务对应的目标URL加入爬虫队列以获取请求结果,包括:将所述爬虫任务对应的目标URL加入爬虫队列;基于爬虫队列的排序向所述目标URL对应的页面发送请求;获取请求结果。
[0014]在本申请的一种示例性实施例中,由所述请求结果中确定认证方式,包括:由所述请求结果中提取响应头报文;提取响应头报文中的头部信息;截取所述头部信息中的预设区域字符;根据所述区域字符确定所述认证方式。
[0015]在本申请的一种示例性实施例中,由认证账户列表中提取用户名和密码,并结合所述认证方式生成认证请求,包括:由所述认证方式中确定协议拼接方式;将所述用户名和所述密码按照所述协议拼接方式进行拼接生成头部信息;根据所述头部信息生成所述认证请求。
[0016]在本申请的一种示例性实施例中,将所述认证请求发送到当前爬取页面以获取数据,包括:将所述认证请求发送到当前爬取页面;在请求结果为认证成功时,基于当前头部信息设置当前页面后续的URL页面的认证请求。
[0017]在本申请的一种示例性实施例中,将所述认证请求发送到当前爬取页面以获取数据,还包括:在请求结果为认证失败时,由认证账户列表中提取其他用户名和密码,并结合所述认证方式生成认证请求。
[0018]根据本申请的一方面,提出一种对认证页面进行数据爬取的装置,该装置包括:爬虫模块,用于执行爬虫任务以获取请求结果;提取模块,用于由所述请求结果中提取响应状态码;确定模块,用于在所述响应状态码为指定编码时,确定当前爬取页面为认证页面;认证模块,用于由所述请求结果中确定认证方式;请求模块,用于由认证账户列表中提取用户名和密码,并结合所述认证方式生成认证请求;数据模块,用于将所述认证请求发送到当前爬取页面以获取数据。
[0019]根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
[0020]根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
[0021]根据本申请的对认证页面进行数据爬取的方法、装置、电子设备及计算机可读介质,通过执行爬虫任务以获取请求结果;由所述请求结果中提取响应状态码;在所述响应状态码为指定编码时,确定当前爬取页面为认证页面;由所述请求结果中确定认证方式;由认证账户列表中提取用户名和密码,并结合所述认证方式生成认证请求;将所述认证请求发送到当前爬取页面以获取数据的方式,能够爬取认证页面的数据,相较于普通的无法进行HTTP认证的爬虫工具,本申请能够爬取更多的页面资源。
[0022]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本
申请。
附图说明
[0023]通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1是现有技术中对页面进行数据爬取的方法的流程图。
[0025]图2是根据一示例性实施例示出的一种对认证页面进行数据爬取的方法及装置的系统框图。
[0026]图3是根据另一示例性实施例示出的一种对认证页面进行数据爬取的方法的流程图。
[0027]图4是根据另一示例性实施例示出的一种对认证页面进行数据爬取的方法的示意图。
[0028]图5是根据另一示例性实施例示出的一种对认证页面进行数据爬取的方法的流程图。
[0029]图6是根据一示例性实施例示出的一种对认证页面进行数据爬取的装置的框图。
[0030]图7是根据一示例性实施例示出的一种电子设备的框图。
[0031]图8是根据一示例性实施例示出的一种计算机可读介质的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对认证页面进行数据爬取的方法,其特征在于,包括:执行爬虫任务以获取请求结果;由所述请求结果中提取响应状态码;在所述响应状态码为指定编码时,确定当前爬取页面为认证页面;由所述请求结果中确定认证方式;由认证账户列表中提取用户名和密码,并结合所述认证方式生成认证请求;将所述认证请求发送到当前爬取页面以获取数据。2.如权利要求1所述的方法,其特征在于,执行爬虫队列中的爬虫任务获取请求结果之前,还包括:对目标端口进行监听以生成爬虫任务;在获取到爬虫任务后,将所述爬虫任务发送到任务池中;为任务池中的所述爬虫任务分配爬虫子进程。3.如权利要求2所述的方法,其特征在于,在获取到爬虫任务后,将所述爬虫任务发送到任务池中,包括:初始化任务状态为等待状态;在获取到爬虫任务后,将所述爬虫任务对应的任务配置储存到数据库;定时扫描数据库中的任务,以将所述爬虫任务发送到所述任务池。4.如权利要求1所述的方法,其特征在于,执行爬虫任务以获取请求结果,包括:爬虫子进程由任务池中提取所述爬虫任务;初始化爬虫客户端;将所述爬虫任务对应的目标URL加入爬虫队列以获取请求结果。5.如权利要求4所述的方法,其特征在于,初始化爬虫客户端,包括:解析数据库中的任务配置数据获取任务参数;根据所述任务参数初始化所述爬虫客户端。6.如权利要求4所述的方法,其特征在于,将所述爬虫任务对应的目标URL加入爬虫队列以获取请求结果,包括:将所述爬虫任务对应的目标URL加入爬虫队列;基于爬虫队列的排序向所述目标URL对应的页面...

【专利技术属性】
技术研发人员:吕振旺曹浪杨圣华
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:

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

1