CN111460256A - 网页数据的爬取方法、装置、计算机设备和存储介质 - Google Patents
网页数据的爬取方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111460256A CN111460256A CN202010224236.9A CN202010224236A CN111460256A CN 111460256 A CN111460256 A CN 111460256A CN 202010224236 A CN202010224236 A CN 202010224236A CN 111460256 A CN111460256 A CN 111460256A
- Authority
- CN
- China
- Prior art keywords
- verification code
- server
- crawling
- verification
- webpage
- 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
- 230000009193 crawling Effects 0.000 title claims abstract description 325
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012795 verification Methods 0.000 claims abstract description 535
- 230000004044 response Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种网页数据的爬取方法、装置、计算机设备和存储介质。所述方法包括:执行预下发的数据爬取任务;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作;当检测到所述待爬取网页需要进行验证时,触发所述待爬取网页的网页服务器向用户终端发送验证码,以使所述用户终端接收所述验证码并上传所述验证码至后台服务器进行储存:根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码;发送所述目标验证码至所述网页服务器中进行验证。本方法涉及通用网络爬虫领域,采用本方案能够提高现有的爬虫程序执行爬虫任务时的运行效率。
Description
技术领域
本申请涉及数据分析技术领域,特别是涉及一种网页数据的爬取方法、装置、计算机设备和存储介质。
背景技术
随着互联网的发展,我们登录网站、APP常常需要进行手机验证码OTP(One TimePassword)的验证,从而使登录网站、APP确认个人身份,为用户注册、登录、线上付出等行为减少网络危害,保护用户的个人信息。
当开发人员或者测试人员在使用爬虫程序用于对目标网站的数据爬取、模拟登录、模拟申请等自动操作过程中,目标网站为确定用户真实身份,往往会要求进行短信验证码填写并验证。这也使开发人员或者测试人员需要通过手机查看到针对目标网站的短信验证码并手动写入爬虫程序,当爬虫程序得到开发人员或者测试人员写入的短信验证码后,使用该短信验证码进行短信验证。
可以看出,现有的爬虫程序执行爬虫任务时的运行效率不高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高现有的爬虫程序执行爬虫任务时的运行效率的网页数据的爬取方法、装置、计算机设备和存储介质。
一种网页数据的爬取方法,应用于爬取服务器,所述方法包括:
执行预下发的数据爬取任务;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作;
当检测到所述待爬取网页需要进行验证时,触发所述待爬取网页的网页服务器向用户终端发送验证码,以使所述用户终端接收所述验证码并上传所述验证码至后台服务器进行储存:
根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码;
发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
一种网页数据的爬取方法,应用于终端,所述方法包括:
获取验证码;所述验证码为爬取服务器在执行预下发的数据爬取任务时,触发待爬取网页的网页服务器向用户终端发送的;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对所述待爬取网页进行数据爬取操作;
上传所述验证码至后台服务器进行储存,以使所述爬取服务器根据所述终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码,并发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
一种网页数据的爬取装置,应用于爬取服务器,所述装置包括:
执行模块,用于执行预下发的数据爬取任务;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作;
触发模块,用于当检测到所述待爬取网页需要进行验证时,触发所述待爬取网页的网页服务器向用户终端发送验证码,以使所述用户终端接收所述验证码并上传所述验证码至后台服务器进行储存:
确定模块,用于根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码;
发送模块,用于发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
一种网页数据的爬取装置,应用于终端,所述装置包括:
获取模块,用于获取验证码;所述验证码为爬取服务器在执行预下发的数据爬取任务时,触发待爬取网页的网页服务器向所述用户终端发送的;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对所述待爬取网页进行数据爬取操作;
上传模块,用于上传所述验证码至后台服务器进行储存,以使所述爬取服务器根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码,并发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
一种计算机设备,应用于爬取服务器,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
执行预下发的数据爬取任务;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作;
当检测到所述待爬取网页需要进行验证时,触发所述待爬取网页的网页服务器向用户终端发送验证码,以使所述用户终端接收所述验证码并上传所述验证码至后台服务器进行储存:
根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码;
发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
一种计算机设备,应用于终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取验证码;所述验证码为爬取服务器在执行预下发的数据爬取任务时,触发待爬取网页的网页服务器向用户终端发送的;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对所述待爬取网页进行数据爬取操作;
上传所述验证码至后台服务器进行储存,以使所述爬取服务器根据所述终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码,并发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
一种计算机可读存储介质,应用于爬取服务器,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
执行预下发的数据爬取任务;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作;
当检测到所述待爬取网页需要进行验证时,触发所述待爬取网页的网页服务器向用户终端发送验证码,以使所述用户终端接收所述验证码并上传所述验证码至后台服务器进行储存:
根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码;
发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
一种计算机可读存储介质,应用于终端,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取验证码;所述验证码为爬取服务器在执行预下发的数据爬取任务时,触发待爬取网页的网页服务器向用户终端发送的;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对所述待爬取网页进行数据爬取操作;
上传所述验证码至后台服务器进行储存,以使所述爬取服务器根据所述终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码,并发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
上述网页数据的爬取方法、装置、计算机设备和存储介质,在执行预下发的数据爬取任务的过程中,当检测到待爬取网页需要进行验证时,触发待爬取网页的网页服务器向用户终端发送验证码,以使用户终端接收验证码并上传验证码至后台服务器,以实现将用户终端接收到的验证码进行集中收集,同时,通过根据用户终端的终端标识,在后台服务器储存的多个验证码中,确定目标验证码,进而使爬取服务器可以发送正确的目标验证码至网页服务器以进行验证,从而实现了对验证码的集中下发;通过对各个网页服务器下发的短信验证码进行集中且统一地管控,即使用户使用爬取服务器同时执行大量且不同种类数据爬取任务时,爬取服务器也可以准确地采用合适的短信验证码来通过各种网页服务器的短信验证,无需用户手动且频繁地输入短信验证码,提高了现有的爬虫程序执行爬虫任务时的运行效率。
附图说明
图1为一个实施例中一种网页数据的爬取方法的应用环境图;
图2为一个实施例中一种网页数据的爬取方法的流程示意图;
图3为一个实施例中另一种网页数据的爬取方法的流程示意图;
图4为另一个实施例中一种网页数据的爬取方法的流程示意图;
图5为一个实施例中一种网页数据的爬取装置的结构框图;
图6为另一个实施例中一种网页数据的爬取装置的结构框图;
图7为一个实施例中一种短信验证码处理系统;
图8为一个实施例中一种爬虫任务调动系统;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的一种网页数据的爬取方法,可以应用于如图1所示的应用环境中。爬取服务器110首先执行预下发的数据爬取任务;数据爬取任务用于指示爬取服务器110调用对应的目标爬虫程序对待爬取网页进行数据爬取操作;当爬取服务器110检测到待爬取网页需要进行验证时,触发待爬取网页的网页服务器向用户终端130发送验证码,以使用户终端130接收验证码并上传验证码至后台服务器120进行储存:爬取服务器110根据用户终端的终端标识,在后台服务器120储存的多个验证码中,确定目标验证码;发送目标验证码至网页服务器中进行验证,以使爬取服务器110在通过验证后执行数据爬取操作。其中,爬取服务器110、后台服务器120和用户终端130通过网络进行通信。其中,用户终端130可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。爬取服务器110和后台服务器120均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种网页数据的爬取方法,应用于如图1所示的爬取服务器110,包括以下步骤:
步骤S210,执行预下发的数据爬取任务。
其中,数据爬取任务用于指示爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作。
实际应用中,数据爬取任务具有对应的任务标识,例如,每一个数据爬取任务具有对应的唯一系列号,不同的数据爬取任务具有不同的功能,例如,输入用户名和密码等账户信息,输入短信验证码,图像验证码、滑动模块定位识别等功能。
用户可以通过前端界面往任务队列中加入不同的系列号的数据爬取任务,并数据爬取任务里增加下一个爬取步骤所需要的参数。而数据爬取任务在执行时会检测输入的任务各参数以确认进入到哪一步操作。同时也能反馈错误或者提示信息给用户,如验证码出错,该手机当日发送短信次数超过网站的限制等。
于此同时,用户可以预先将所有类型的爬虫程序需要注册到列表里,根据前端页面发来的数据爬取任务,数据爬取任务的任务信息包括数据源,爬虫名,爬取需要用到的数据,分发的节点以及调试使用的参数,爬虫名用于供爬取服务器110决定要创建对应的爬虫进行与数据爬取任务对应的数据爬取操作。
其中,数据爬取操作可以是指爬虫程序获取待爬取网页中的目标数据的操作。例如,银行信用卡查询、城市公积金查询、城市公积金查询、注册信用卡并确定信用卡信息等。
具体实现中,当爬取服务器110执行用户通过在前端页面预先下发的数据爬取任务,然后,爬取服务器110根据数据爬取任务的任务信息,调用对应的目标爬虫程序对待爬取网页进行数据爬取操作。
其中,目标爬虫程序可以采用groovy(一种编程语言)语言进行编写,如此目标爬虫程序可以随着待爬取网页的网站页面或者接口的更改,爬取程序可以随时对应更改,直接热部署生效,而不需要重启服务。
步骤S220,当检测到待爬取网页需要进行验证时,触发待爬取网页的网页服务器向用户终端发送验证码,以使用户终端接收验证码并上传验证码至后台服务器进行储存。
其中,验证码可以是短信验证码。
具体实现中,当爬取服务器110检测到待爬取网页需要进行短信验证码验证时,爬取服务器110则通过Web API方式使用开发人员预设的用户终端130的手机号码调用待爬取网页的OTP(One Time Password,一次性密码)验证接口,触发该待爬取网页的网页服务器向用户终端130发送短信验证码;如此,当用户终端130一旦接收到网页服务器的短信验证码后,用户终端130可以将上传验证码至后台服务器120进行储存。具体来说,用户终端130在接收到网页服务器的短信验证码的短信后,用户终端130可以将该短信中的短信验证码、该短信验证码的有效期、以及,该短信中的接收时间进行打包,得到短信验证码消息包,然后再将该短信验证码消息包上传至后台服务器120的数据库中进行储存。
步骤S230,根据用户终端的终端标识,在后台服务器储存的多个验证码中,确定目标验证码。
具体实现中,当爬取服务器110触发待爬取网页的网页服务器向用户终端130发送验证码后,爬取服务器110则开始根据用户终端130的终端标识,在后台服务器120的数据库中进行轮询,查询在后台服务器储存的多个验证码中,是否存在与当前的用户终端130的终端标识和数据爬取任务对应的目标验证码,若存在则接收后台服务器120返回的目标验证码。
步骤S240,发送目标验证码至网页服务器中进行验证,以使爬取服务器在通过验证后执行数据爬取操作。
具体实现中,当爬取服务器110确定目标验证码后,爬取服务器110退出验证码查询状态,并采用该目标验证码在该待爬取网站上进行短信验证,具体来说,爬取服务器110可以调用预设的模拟输入接口,将目标验证码输入至待爬取网站的验证码输入框中,并调用预设的模拟点击接口,模拟鼠标点击待爬取网站的网页中的验证码提交入口,进而实现将目标验证码发送至网页服务器中进行验证,当网页服务器针对目标验证码进行验证且验证通过后,爬取服务器110继续执行数据爬取操作。
上述网页数据的爬取方法中,在执行预下发的数据爬取任务的过程中,当检测到待爬取网页需要进行验证时,触发待爬取网页的网页服务器向用户终端发送验证码,以使用户终端接收验证码并上传验证码至后台服务器,以实现将用户终端接收到的验证码进行集中收集,同时,通过根据用户终端的终端标识,在后台服务器储存的多个验证码中,确定目标验证码,进而使爬取服务器可以发送正确的目标验证码至网页服务器以进行验证,从而实现了对验证码的集中下发;通过对各个网页服务器下发的短信验证码进行集中且统一地管控,即使用户使用爬取服务器同时执行大量且不同种类数据爬取任务时,爬取服务器也可以准确地采用合适的短信验证码来通过各种网页服务器的短信验证,无需用户手动且频繁地输入短信验证码,提高了现有的爬虫程序执行爬虫任务时的运行效率。
在另一个实施例中,获取预下发的数据爬取任务之后,还包括:获取代理服务器池;其中,代理服务器池包括多个候选代理服务器;每个候选代理服务器具有对应的响应延迟值;在多个候选代理服务器中,将响应延迟值小于预设的延迟值阈值的候选代理服务器,作为目标代理服务器;通过目标代理服务器访问待爬取网页。
其中,代理服务器池包括多个候选代理服务器。
其中,每个候选代理服务器具有对应的响应延迟值。实际应用中,爬取服务器110可以分别向各个候选代理服务器发送Ping指令(一种测试指令),根据各个候选代理服务器针对对应的Ping指令返回的数据包,确定各个候选代理服务器对应的响应延迟值。
实际应用中,爬取服务器110可以是爬取服务器110预先在互联网扫描爬取多个免费代理服务器对应的配置信息,并建立代理服务器池。同时,爬取服务器110按照预设的测试周期,定期对代理服务器池的多个候选代理服务器进行测试,判断候选代理服务器是否可用;若候选代理服务器不可用则进行剔除。
具体实现中,爬取服务器110在获取预下发的数据爬取任务之后,爬取服务器110还需要获取代理服务器池;然后,爬取服务器110在代理服务器池的多个候选代理服务器中,确定目标代理服务器;具体地,爬取服务器110可以根据每个候选代理服务器具有对应的响应延迟值,在多个候选代理服务器中,将响应延迟值小于预设的延迟值阈值的候选代理服务器,作为目标代理服务器;最后,爬取服务器110通过目标代理服务器访问待爬取网页。
本实施例的技术方案,通过在代理服务器池的多个候选代理服务器中,确定目标代理服务器;并通过目标代理服务器访问待爬取网页,可以避免待爬取网页的网页服务器禁用爬虫服务器的访问请求,保障了爬虫服务器可以正常访问待爬取网页。
在另一个实施例中,还包括:获取多个所述候选代理服务器的服务器数量;当所述服务器数量小于预设的数量阈值时,根据预设的服务器配置信息,确定备用代理服务器;通过所述备用代理服务器访问所述待爬取网页。
其中,备用代理服务器可以商业代理服务器供应商提供的代理服务器。
其中,服务器配置信息为备用代理服务器对应的服务器配置信息。
具体实现中,当爬取服务器110获取代理服务器池之后:爬取服务器110还可以获取多个候选代理服务器的服务器数量;然后,将该服务器数量与预设的数量阈值进行对比,当服务器数量小于预设的数量阈值时,爬取服务器110则在用户预设的服务器配置信息,确定备用代理服务器;最后,爬取服务器110在通过备用代理服务器访问待爬取网页,同时爬取服务器110通过确定备用代理服务器访问待爬取网页的访问流量,确定备用代理服务器的使用费用。
本实施例的技术方案,当检测出候选代理服务器的服务器数量小于预设的数量阈值时,通过使用备用代理服务器访问待爬取网页,保障了爬取服务器可以正常且稳定的通过第三方代理服务器访问待爬取网页。
在另一个实施例中,根据用户终端的终端标识,在后台服务器储存的多个验证码中,确定目标验证码,包括:发送验证码获取请求至后台服务器;其中,验证码获取请求包括用户终端的终端标识和数据爬取任务的任务标识;接收后台服务器返回的验证码消息包;验证码消息包为后台服务器根据终端标识和任务标识在验证码数据库中查询得到的;其中,验证码消息包包括对应的验证码;确定验证码消息包中的验证码为待校验验证码,并对待校验验证码进行有效性校验;当有效性校验通过时,确定待校验验证码为目标验证码。
其中,验证码获取请求包括用户终端的终端标识和数据爬取任务的任务标识。
其中,验证码消息包为后台服务器根据终端标识和任务标识在验证码数据库中查询得到的。
具体实现中,爬取服务器110在根据用户终端的终端标识,在后台服务器储存的多个验证码中,确定目标验证码的过程中,具体包括:爬取服务器110首先发送验证码获取请求至后台服务器120;其中,验证码获取请求包括用户终端的终端标识和数据爬取任务的任务标识。
当后台服务器120接收到验证码获取请求后,后台服务器120解析该验证码获取请求,确定用户终端的终端标识和数据爬取任务的任务标识。然后,后台服务器120根据该终端标识和任务标识,在后台服务器120的验证码数据库中查询对应的验证码消息包;其中,验证码消息包与上述的终端标识和任务标识相对应。然后,后台服务器120再将验证码消息包发送至爬取服务器110,供爬取服务器110进行接收。
其中,后台服务器120可以使web服务器。
当爬取服务器110接收到后台服务器120返回的验证码消息包后,爬取服务器110对验证码消息包进行解析,确定验证码消息包中的验证码为待校验验证码,并对待校验验证码进行有效性校验;当爬取服务器110对待校验验证码有效性校验通过后,爬取服务器110确定待校验验证码为目标验证码。
本实施例的技术方案,通过发送验证码获取请求至后台服务器,进而在后台服务器中轮询与用户终端的终端标识和数据爬取任务的任务标识对应的验证码消息包;然后,提取验证码消息包中的待校验验证码,并对待校验验证码进行有效性校验,如此可以使爬取服务器可以准确地获得用于通过待爬取网页验证的验证码,进而提高了现有的爬虫程序执行爬虫任务时的运行效率。
在另一个实施例中,对候选验证码进行有效性校验,包括:根据验证码消息包,确定待校验验证码的验证码接收时间和待校验验证码的有效时长;其中,验证码接收时间为用户终端接收到待校验验证码的时间;根据验证码接收时间和有效时长,确定待校验验证码的到期时间;当确定当前时间小于到期时间时,判定待校验验证码通过有效性校验。
其中,验证码接收时间为用户终端接收到待校验验证码的时间。
具体实现中,当爬取服务器110在对候选验证码进行有效性校验的过程中,具体包括:爬取服务器110根据验证码消息包,确定待校验验证码的验证码接收时间和待校验验证码的有效时长;然后,爬取服务器110根据验证码接收时间和有效时长,计算出待校验验证码的到期时间;同时,爬取服务器110获取当前时间,并判断当前时间是否小于待校验验证码的到期时间;当爬取服务器110判定当前时间小于到期时间时,爬取服务器110则判定待校验验证码通过有效性校验。
本实施例的技术方案,在对候选验证码进行有效性校验的过程中,通过在验证码消息包中确定待校验验证码的验证码接收时间和待校验验证码的有效时长;然后,根据验证码接收时间和有效时长,确定待校验验证码的到期时间;当确定当前时间小于到期时间时,从而准确地判定待校验验证码通过有效性校验,使爬取服务器可以准确地获得用于通过待爬取网页验证的验证码,进而提高了现有的爬虫程序执行爬虫任务时的运行效率。
在另一个实施例中,在发送验证码获取请求至后台服务器的步骤之后,包括:当超过预设的等待时间未接收到验证码消息包时,返回触发待爬取网页的网页服务器向用户终端发送验证码的步骤,并记录查询超时次数;当查询超时次数大于预设的超时次数阈值时,停止执行数据爬取任务,并生成查询失败告警。
具体实现中,当爬取服务器110在发送验证码获取请求至后台服务器的步骤之后,当爬取服务器110超过预设的等待时间未接收到验证码消息包时,则爬取服务器110返回触发待爬取网页的网页服务器向用户终端发送验证码的步骤,同时爬取服务器110记录下查询超时次数;直至当爬取服务器110确定查询超时次数大于预设的超时次数阈值时,停止执行数据爬取任务,并生成查询失败告警。查询失败告警用于供操作员决定是否要干预停止程序运行,如果不停止,则会继续执行后面的独立任务,而不受前面失败的影响。
更具体地,如果超过1分钟仍无法获得正确的短信验证码,则重新触发网站的发送验证码,继续等待,直到超过当日网站短信次数或者程序设定的次数后就退出爬取程序,返回失败结果。供操作员决定是否要干预停止程序运行,如果不停止,则会继续执行后面的独立任务,而不受前面失败的影响。例如,查多个信用卡账单,某个信用卡查询失败,可能是该银行网站处于维护中,并不影响后面一个信用卡查询。
于此同时,当爬取服务器110超过预设的等待时间未接收到验证码消息包之后,爬取服务器110记录查询失败结果;其中,查询失败结果包括终端标识和待爬取网页的网址;根据该查询失败结果,生成针对该爬取程序的运行日志。该运行日志用于供操作员查看,并用于事后查找原因优化系统。
本实施例的技术方案,通过在发送验证码获取请求至后台服务器的步骤之后,当超过预设的等待时间未接收到验证码消息包时,返回触发待爬取网页的网页服务器向用户终端发送验证码的步骤,并记录查询超时次数;当查询超时次数大于预设的超时次数阈值时,停止执行数据爬取任务,并生成查询失败告警,及时通知用户决定是否要干预停止程序运行并排除相应的故障,进而提高了现有的爬虫程序执行爬虫任务时的运行效率。
在一个实施例中,如图3所示,提供了另一种网页数据的爬取方法,应用于如图1所示的爬取服务器110,包括以下步骤:
步骤S310,执行预下发的数据爬取任务;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作。步骤S320,获取代理服务器池;其中,所述代理服务器池包括多个候选代理服务器;每个所述候选代理服务器具有对应的响应延迟值。步骤S330,在所述多个候选代理服务器中,将所述响应延迟值小于预设的延迟值阈值的候选代理服务器,作为目标代理服务器。步骤S340,通过所述目标代理服务器访问所述待爬取网页。步骤S350,当检测到所述待爬取网页需要进行验证时,触发所述待爬取网页的网页服务器向用户终端发送验证码,以使所述用户终端接收所述验证码并上传所述验证码至后台服务器进行储存。步骤S360,发送验证码获取请求至所述后台服务器;其中,所述验证码获取请求包括所述用户终端的终端标识和所述数据爬取任务的任务标识。步骤S370,接收所述后台服务器返回的验证码消息包;所述验证码消息包为所述后台服务器根据所述终端标识和所述任务标识在验证码数据库中查询得到的;其中,所述验证码消息包包括对应的所述验证码。步骤S380,确定所述验证码消息包中的验证码为待校验验证码,并对所述待校验验证码进行有效性校验。步骤S390,当有效性校验通过时,发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
上述步骤的具体限定可以参见上文对一种网页数据的爬取方法的具体限定,在此不再赘述。上述实施例的技术方案可以避免用户在使用爬虫程序时需要手动且频繁地输入短信验证码,提高了现有的爬虫程序执行爬虫任务时的运行效率。
在另一个实施例中,如图4所示,提供了一种网页数据的爬取方法,应用于如图1所示的用户终端130,包括以下步骤:
步骤S410,获取验证码;验证码为爬取服务器在执行预下发的数据爬取任务时,触发待爬取网页的网页服务器向用户终端发送的;数据爬取任务用于指示爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作。
具体实现中,当用户终端130接收到验证码短信时,用户终端130读取验证码短信中的验证码。其中,验证码为爬取服务器在执行预下发的数据爬取任务时,触发待爬取网页的网页服务器向用户终端发送的验证码。具体来说,当爬取服务器110检测到待爬取网页需要进行短信验证码验证时,爬取服务器110则通过Web API方式使用开发人员预设的用户终端130的手机号码调用待爬取网页的OTP验证接口,触发该待爬取网页的网页服务器向用户终端130发送短信验证码。
步骤S420,上传验证码至后台服务器进行储存,以使爬取服务器根据终端的终端标识,在后台服务器储存的多个验证码中,确定目标验证码,并发送目标验证码至网页服务器中进行验证,以使爬取服务器在通过验证后执行数据爬取操作。
具体实现中,当用户终端130获得验证码后用户终端130上传验证码至后台服务器进行储存。具体来说,用户终端130在接收到网页服务器的短信验证码的短信后,用户终端130可以将该短信中的短信验证码、该短信验证码的有效期、以及,该短信中的接收时间进行打包,得到短信验证码消息包,然后再将该短信验证码消息包上传至后台服务器120的数据库中进行储存。如此,当爬取服务器110触发待爬取网页的网页服务器向用户终端发送的验证码后,爬取服务器110根据用户终端130的终端标识,在后台服务器120的数据库中进行轮询,查询在后台服务器储存的多个候选验证码中,是否存在与当前的用户终端130的终端标识和数据爬取任务对应的目标验证码,若存在则接收后台服务器120返回的目标验证码,进而将目标验证码发送至网页服务器中进行验证,当网页服务器针对目标验证码进行验证且验证通过后继续执行数据爬取操作。
上述网页数据的爬取方法中,在执行预下发的数据爬取任务的过程中,通过当检测到待爬取网页需要进行验证时,触发待爬取网页的网页服务器向用户终端发送验证码,以使用户终端接收验证码并上传验证码至后台服务器进行储存,同时,根据用户终端的终端标识,在后台服务器储存的多个候选验证码中,确定目标验证码;发送目标验证码至网页服务器中进行验证,以使爬取服务器在通过验证后执行数据爬取操作,从而避免用户在使用爬虫程序时需要手动且频繁地输入短信验证码,提高了现有的爬虫程序执行爬虫任务时的运行效率。
在另一个实施例中,当验证码为短信验证码时,获取验证码,包括:当接收到短信时,获取短信的发送端地址;判断预设的发送端地址列表中是否存在发送端地址;若发送端地址列表存在发送端地址,则根据短信的短信内容,确定验证码;当发送端地址列表不存在发送端地址时,则判断短信的短信内容是否存在验证码特征;若短信的短信内容存在验证码特征,则根据短信的短信内容,确定验证码。
具体实现中,当验证码为短信验证码时,当用户终端130在获取验证码,具体包括:当用户终端130接收到短信时,判断该短信是否为验证码短信;进一步地,用户终端130在判断该短信是否为验证码短信的过程中,具体包括:当用户终端130检测到接收到短信时,确定该短信的发送端地址;其中,发送端地址可以是指发送该短信的发送端号码;然后,获取预设的发送端地址列表即短信地址白名单,并判断该短信地址白名单中是否存在该短信的发送端号码;若是,则确定该短信为验证码短信。
进一步地,当用户终端130判断该短信地址白名单中不存在该短信的发送端地址时,用户终端130则判断该短信的短信内容是否存在验证码特征,例如,该短信的短信内容是否存在连续n位的数字,例如,6位或4位的数字,或短信的短信内容是否存在“验证”“验证码”等关键字段;若存在,则判定该短信为验证码短信,并将该短信的发送端地址添加至上述的短信地址白名单中。
当用户终端130确定该短信为验证码短信时,用户终端130则读取短信的短信内容,确定该短信内容中的验证码,具体来说,用户终端130可以采用预设的正则表达式,提取出短信内容中的验证码,进而确定该短信内容中的验证码。
本实施例的技术方案,通过当接收到短信时,获取短信的发送端地址;判断预设的发送端地址列表中是否存在发送端地址;若发送端地址列表存在发送端地址,则根据短信的短信内容,确定验证码;当发送端地址列表不存在发送端地址时,则判断短信的短信内容是否存在验证码特征;若短信的短信内容存在验证码特征,则根据短信的短信内容,确定验证码,从而可以实现准确地将接收到的短信验证码上传至对应的后台服务器进行保存,进而使爬取服务器可以准确地获得用于通过待爬取网页验证的验证码,进而提高了现有的爬虫程序执行爬虫任务时的运行效率。
应该理解的是,虽然图2、图3和图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图3和图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种网页数据的爬取装置,应用于爬取服务器,包括:
执行模块510,用于执行预下发的数据爬取任务;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作;
触发模块520,用于当检测到所述待爬取网页需要进行验证时,触发所述待爬取网页的网页服务器向用户终端发送验证码,以使所述用户终端接收所述验证码并上传所述验证码至后台服务器进行储存:
确定模块530,用于根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码;
发送模块540,用于发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
在其中一个实施例中,上述的一种网页数据的爬取装置,还包括:
代理获取模块,用于获取代理服务器池;其中,所述代理服务器池包括多个候选代理服务器;每个所述候选代理服务器具有对应的响应延迟值;
服务器确定模块,用于在所述多个候选代理服务器中,将所述响应延迟值小于预设的延迟值阈值的候选代理服务器,作为目标代理服务器;
访问模块,用于通过所述目标代理服务器访问所述待爬取网页。
在其中一个实施例中,上述的一种网页数据的爬取装置,还包括;服务器数量查询模块,用于获取多个所述候选代理服务器的服务器数量;备用服务器确定模块,用于当所述服务器数量小于预设的数量阈值时,根据预设的服务器配置信息,确定备用代理服务器;备用服访问模块,用于通过所述备用代理服务器访问所述待爬取网页。
在其中一个实施例中,上述的确定模块530,具体用于发送验证码获取请求至所述后台服务器;其中,所述验证码获取请求包括所述用户终端的终端标识和所述数据爬取任务的任务标识;接收所述后台服务器返回的验证码消息包;所述验证码消息包为所述后台服务器根据所述终端标识和所述任务标识在验证码数据库中查询得到的;其中,所述验证码消息包包括对应的所述验证码;确定所述验证码消息包中的验证码为待校验验证码,并对所述待校验验证码进行有效性校验;当有效性校验通过时,确定所述待校验验证码为所述目标验证码。
在其中一个实施例中,上述的确定模块530,具体还用于根据所述验证码消息包,确定所述待校验验证码的验证码接收时间和所述待校验验证码的有效时长;其中,所述验证码接收时间为所述用户终端接收到所述待校验验证码的时间;根据所述验证码接收时间和所述有效时长,确定所述待校验验证码的到期时间;当确定当前时间小于所述到期时间时,判定所述待校验验证码通过有效性校验。
在其中一个实施例中,上述的确定模块530,具体还用于当超过预设的等待时间未接收到所述验证码消息包时,返回所述触发所述待爬取网页的网页服务器向用户终端发送验证码的步骤,并记录查询超时次数;当所述查询超时次数大于预设的超时次数阈值时,停止执行所述数据爬取任务,并生成查询失败告警。
在另一个实施例中,如图6所示,提供了一种网页数据的爬取装置,应用于用户终端,包括:
获取模块610,用于接收验证码;所述验证码为爬取服务器在执行预下发的数据爬取任务时,触发待爬取网页的网页服务器向所述用户终端发送的;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对所述待爬取网页进行数据爬取操作;
上传模块620,用于上传所述验证码至后台服务器进行储存,以使所述爬取服务器根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码,并发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
在其中一个实施例中,当所述验证码为短信验证码时,上述的上传模块620,具体用于当接收到短信时,获取所述短信的发送端地址;判断预设的发送端地址列表中是否存在所述发送端地址;若所述发送端地址列表存在所述发送端地址,则根据所述短信的短信内容,确定所述验证码;当所述发送端地址列表不存在所述发送端地址时,则判断所述短信的短信内容是否存在验证码特征;若所述短信的短信内容存在验证码特征,则根据所述短信的短信内容,确定所述验证码。
在一个实施例中,为了便于本领域技术人员的理解,图7提供了一种短信验证码处理系统;包括安装有爬取程序的爬取服务器、后台服务器、目标手机;当目标网站需要进行短信验证时,爬取服务器根据预设的目标手机的手机号触发该目标网站向目标手机的发送短信验证码;当目标手机检测其接收到目标网站发送的短信验证码后,目标手机将短信验证码上传至后台服务器,供后台服务器保存至验证码数据库中。与此同时,爬取服务器根据目标手机的手机号,在后台服务器中查询与当前验证事件对应的短信验证码,并使用该短信验证码在目标网站中进行短信验证。
在一个实施例中,为了便于本领域技术人员的理解,图8提供了一种爬虫任务调动系统;由于爬取的网页数据需要存储于安全程度高的内网,爬虫程序往往需要置于基于外网的外部域,因此可以使用不同的安全策略,通过网关GP或其他需要模拟登录服务的后台把用户的请求接入;实际应用中,网关GP可以但不限于是一账通APP网关;然后,通过任务分发调度器CBCS对外接口发送数据爬取任务task给外网的用户数据中心SDC,由SDC分发到不同节点,根据已注册的爬取任务类型创建爬取任务,一旦需要用户介入,则把消息经任务分发调度器CBCS回传到网关GP到用户界面如h5、app等。当爬取得到最终数据时,则通过任务分发调度器CBCS写入数据库里,供用户查询使用也可以通过推送查询结果消息给用户。其中,任务分发调度器CBCS可以调度用于实现复杂登录的第一登录爬虫集群;也可以调度用于实现简单登录的第二登录爬虫集群;其中,第一登录爬虫集群包括爬虫服务和基于c++编写的用于进行复杂登录的登录服务。第二登录爬虫集群包括爬虫服务无需基于c++编写的用于进行复杂登录的登录服务。
关于一种网页数据的爬取装置的具体限定可以参见上文中对于一种网页数据的爬取装置方法的限定,在此不再赘述。上述一种网页数据的爬取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述的一种网页数据的爬取方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,应用于爬取服务器,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
步骤S210,执行预下发的数据爬取任务;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作;
步骤S220,当检测到所述待爬取网页需要进行验证时,触发所述待爬取网页的网页服务器向用户终端发送验证码,以使所述用户终端接收所述验证码并上传所述验证码至后台服务器进行储存:
步骤S230,根据所述用户终端的终端标识,在所述后台服务器储存的多个候选验证码中,确定目标验证码;
步骤S240,发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取代理服务器池;其中,所述代理服务器池包括多个候选代理服务器;每个所述候选代理服务器具有对应的响应延迟值;在所述多个候选代理服务器中,将所述响应延迟值小于预设的延迟值阈值的候选代理服务器,作为目标代理服务器;通过所述目标代理服务器访问所述待爬取网页。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取多个所述候选代理服务器的服务器数量;当所述服务器数量小于预设的数量阈值时,根据预设的服务器配置信息,确定备用代理服务器;通过所述备用代理服务器访问所述待爬取网页。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取代理服务器池;其中,所述代理服务器池包括多个候选代理服务器;在所述多个候选代理服务器中,确定目标代理服务器;通过所述目标代理服务器访问所述待爬取网页。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取所述多个候选代理服务器的服务器数量;当所述服务器数量小于预设的数量阈值时,确定备用代理服务器;通过所述备用代理服务器访问所述待爬取网页。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:发送验证码获取请求至所述后台服务器;其中,所述验证码获取请求包括所述用户终端的终端标识和所述数据爬取任务的任务标识;接收所述后台服务器返回的验证码消息包;所述验证码消息包为所述后台服务器根据所述终端标识和所述任务标识在验证码数据库中查询得到的;其中,所述验证码消息包包括对应的所述验证码;确定所述验证码消息包中的验证码为待校验验证码,并对所述待校验验证码进行有效性校验;当有效性校验通过时,确定所述待校验验证码为所述目标验证码。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据所述验证码消息包,确定所述待校验验证码的验证码接收时间和所述待校验验证码的有效时长;其中,所述验证码接收时间为所述用户终端接收到所述待校验验证码的时间;根据所述验证码接收时间和所述有效时长,确定所述待校验验证码的到期时间;当确定当前时间小于所述到期时间时,判定所述待校验验证码通过有效性校验。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当超过预设的等待时间未接收到所述验证码消息包时,返回所述触发所述待爬取网页的网页服务器向用户终端发送验证码的步骤,并记录查询超时次数;当所述查询超时次数大于预设的超时次数阈值时,停止执行所述数据爬取任务,并生成查询失败告警。
在一个实施例中,提供了一种计算机设备,应用于用户终端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
步骤S410,获取验证码;所述验证码为爬取服务器在执行预下发的数据爬取任务时,触发待爬取网页的网页服务器向所述用户终端发送的;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对所述待爬取网页进行数据爬取操作;
步骤S420,上传所述验证码至后台服务器进行储存,以使所述爬取服务器根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码,并发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
在一个实施例中,当所述验证码为短信验证码时,处理器执行计算机程序时还实现以下步骤:当接收到短信时,获取所述短信的发送端地址;判断预设的发送端地址列表中是否存在所述发送端地址;若所述发送端地址列表存在所述发送端地址,则根据所述短信的短信内容,确定所述验证码;当所述发送端地址列表不存在所述发送端地址时,则判断所述短信的短信内容是否存在验证码特征;若所述短信的短信内容存在验证码特征,则根据所述短信的短信内容,确定所述验证码。
在一个实施例中,提供了一种计算机可读存储介质,应用于爬取服务器,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤S210,执行预下发的数据爬取任务;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作;
步骤S220,当检测到所述待爬取网页需要进行验证时,触发所述待爬取网页的网页服务器向用户终端发送验证码,以使所述用户终端接收所述验证码并上传所述验证码至后台服务器进行储存:
步骤S230,根据所述用户终端的终端标识,在所述后台服务器储存的多个候选验证码中,确定目标验证码;
步骤S240,发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取代理服务器池;其中,所述代理服务器池包括多个候选代理服务器;每个所述候选代理服务器具有对应的响应延迟值;在所述多个候选代理服务器中,将所述响应延迟值小于预设的延迟值阈值的候选代理服务器,作为目标代理服务器;通过所述目标代理服务器访问所述待爬取网页。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取多个所述候选代理服务器的服务器数量;当所述服务器数量小于预设的数量阈值时,根据预设的服务器配置信息,确定备用代理服务器;通过所述备用代理服务器访问所述待爬取网页。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:发送验证码获取请求至所述后台服务器;其中,所述验证码获取请求包括所述用户终端的终端标识和所述数据爬取任务的任务标识;接收所述后台服务器返回的验证码消息包;所述验证码消息包为所述后台服务器根据所述终端标识和所述任务标识在验证码数据库中查询得到的;其中,所述验证码消息包包括对应的所述验证码;确定所述验证码消息包中的验证码为待校验验证码,并对所述待校验验证码进行有效性校验;当有效性校验通过时,确定所述待校验验证码为所述目标验证码。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据所述验证码消息包,确定所述待校验验证码的验证码接收时间和所述待校验验证码的有效时长;其中,所述验证码接收时间为所述用户终端接收到所述待校验验证码的时间;根据所述验证码接收时间和所述有效时长,确定所述待校验验证码的到期时间;当确定当前时间小于所述到期时间时,判定所述待校验验证码通过有效性校验。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当超过预设的等待时间未接收到所述验证码消息包时,返回所述触发所述待爬取网页的网页服务器向用户终端发送验证码的步骤,并记录查询超时次数;当所述查询超时次数大于预设的超时次数阈值时,停止执行所述数据爬取任务,并生成查询失败告警。
在一个实施例中,提供了一种计算机可读存储介质,应用于用户终端,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤S410,获取验证码;所述验证码为爬取服务器在执行预下发的数据爬取任务时,触发待爬取网页的网页服务器向所述用户终端发送的;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对所述待爬取网页进行数据爬取操作;
步骤S420,上传所述验证码至后台服务器进行储存,以使所述爬取服务器根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码,并发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
在一个实施例中,当所述待上传验证码为短信验证码时,计算机程序被处理器执行时还实现以下步骤:当接收到短信时,获取所述短信的发送端地址;判断预设的发送端地址列表中是否存在所述发送端地址;若所述发送端地址列表存在所述发送端地址,则根据所述短信的短信内容,确定所述验证码;当所述发送端地址列表不存在所述发送端地址时,则判断所述短信的短信内容是否存在验证码特征;若所述短信的短信内容存在验证码特征,则根据所述短信的短信内容,确定所述验证码。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种网页数据的爬取方法,其特征在于,应用于爬取服务器,所述方法包括:
执行预下发的数据爬取任务;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作;
当检测到所述待爬取网页需要进行验证时,触发所述待爬取网页的网页服务器向用户终端发送验证码,以使所述用户终端接收所述验证码并上传所述验证码至后台服务器进行储存:
根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码;
发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
2.根据权利要求1所述的方法,其特征在于,所述获取预下发的数据爬取任务之后,还包括:
获取代理服务器池;其中,所述代理服务器池包括多个候选代理服务器;每个所述候选代理服务器具有对应的响应延迟值;
在所述多个候选代理服务器中,将所述响应延迟值小于预设的延迟值阈值的候选代理服务器,作为目标代理服务器;
通过所述目标代理服务器访问所述待爬取网页。
3.根据权利要求2所述的方法,其特征在于,还包括:
获取多个所述候选代理服务器的服务器数量;
当所述服务器数量小于预设的数量阈值时,根据预设的服务器配置信息,确定备用代理服务器;
通过所述备用代理服务器访问所述待爬取网页。
4.根据权利要求1所述的方法,其特征在于,所述根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码,包括:
发送验证码获取请求至所述后台服务器;其中,所述验证码获取请求包括所述用户终端的终端标识和所述数据爬取任务的任务标识;
接收所述后台服务器返回的验证码消息包;所述验证码消息包为所述后台服务器根据所述终端标识和所述任务标识在验证码数据库中查询得到的;其中,所述验证码消息包包括对应的所述验证码;
确定所述验证码消息包中的验证码为待校验验证码,并对所述待校验验证码进行有效性校验;
当有效性校验通过时,确定所述待校验验证码为所述目标验证码。
5.根据权利要求4所述的方法,其特征在于,所述对所述待校验验证码进行有效性校验,包括:
根据所述验证码消息包,确定所述待校验验证码的验证码接收时间和所述待校验验证码的有效时长;其中,所述验证码接收时间为所述用户终端接收到所述待校验验证码的时间;
根据所述验证码接收时间和所述有效时长,确定所述待校验验证码的到期时间;
当确定当前时间小于所述到期时间时,判定所述待校验验证码通过有效性校验。
6.根据权利要求4所述的方法,其特征在于,在所述发送验证码获取请求至所述后台服务器的步骤之后,包括:
当超过预设的等待时间未接收到所述验证码消息包时,返回所述触发所述待爬取网页的网页服务器向用户终端发送验证码的步骤,并记录查询超时次数;
当所述查询超时次数大于预设的超时次数阈值时,停止执行所述数据爬取任务,并生成查询失败告警。
7.一种网页数据的爬取方法,其特征在于,应用于用户终端,所述方法包括:
获取验证码;所述验证码为爬取服务器在执行预下发的数据爬取任务时,触发待爬取网页的网页服务器向用户终端发送的;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对所述待爬取网页进行数据爬取操作;
上传所述验证码至后台服务器进行储存,以使所述爬取服务器根据所述终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码,并发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
8.根据权利要求7所述的方法,其特征在于,当所述验证码为短信验证码时,所述获取验证码,包括:
当接收到短信时,获取所述短信的发送端地址;
判断预设的发送端地址列表中是否存在所述发送端地址;
若所述发送端地址列表存在所述发送端地址,则根据所述短信的短信内容,确定所述验证码;
当所述发送端地址列表不存在所述发送端地址时,则判断所述短信的短信内容是否存在验证码特征;
若所述短信的短信内容存在验证码特征,则根据所述短信的短信内容,确定所述验证码。
9.一种网页数据的爬取装置,其特征在于,应用于爬取服务器,所述装置包括:
执行模块,用于执行预下发的数据爬取任务;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对待爬取网页进行数据爬取操作;
触发模块,用于当检测到所述待爬取网页需要进行验证时,触发所述待爬取网页的网页服务器向用户终端发送验证码,以使所述用户终端接收所述验证码并上传所述验证码至后台服务器进行储存:
确定模块,用于根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码;
发送模块,用于发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
10.一种网页数据的爬取装置,其特征在于,应用于用户终端,所述装置包括:
获取模块,用于获取验证码;所述验证码为爬取服务器在执行预下发的数据爬取任务时,触发待爬取网页的网页服务器向所述用户终端发送的;所述数据爬取任务用于指示所述爬取服务器调用对应的目标爬虫程序对所述待爬取网页进行数据爬取操作;
上传模块,用于上传所述验证码至后台服务器进行储存,以使所述爬取服务器根据所述用户终端的终端标识,在所述后台服务器储存的多个所述验证码中,确定目标验证码,并发送所述目标验证码至所述网页服务器中进行验证,以使所述爬取服务器在通过验证后执行所述数据爬取操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224236.9A CN111460256A (zh) | 2020-03-26 | 2020-03-26 | 网页数据的爬取方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224236.9A CN111460256A (zh) | 2020-03-26 | 2020-03-26 | 网页数据的爬取方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111460256A true CN111460256A (zh) | 2020-07-28 |
Family
ID=71680202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010224236.9A Pending CN111460256A (zh) | 2020-03-26 | 2020-03-26 | 网页数据的爬取方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460256A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277451A (zh) * | 2022-07-28 | 2022-11-01 | 中译语通科技股份有限公司 | 一种基于自动化模拟器的账号登入信息初始化方法及系统 |
CN117714537A (zh) * | 2024-02-06 | 2024-03-15 | 湖南四方天箭信息科技有限公司 | 一种访问方法、装置、终端和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120102019A1 (en) * | 2010-10-25 | 2012-04-26 | Korea Advanced Institute Of Science And Technology | Method and apparatus for crawling webpages |
CN103973682A (zh) * | 2014-04-30 | 2014-08-06 | 北京奇虎科技有限公司 | 进行网页访问的方法及装置 |
CN106375096A (zh) * | 2016-09-09 | 2017-02-01 | 北京小米移动软件有限公司 | 短信验证方法和装置 |
CN107704497A (zh) * | 2017-08-25 | 2018-02-16 | 上海壹账通金融科技有限公司 | 网页数据爬取方法、装置、网页数据爬取平台及存储介质 |
CN108090091A (zh) * | 2016-11-23 | 2018-05-29 | 北京国双科技有限公司 | 网页爬取方法和装置 |
CN109815380A (zh) * | 2018-12-20 | 2019-05-28 | 山东中创软件工程股份有限公司 | 一种信息爬取方法、装置、设备及计算机可读存储介质 |
WO2019127881A1 (zh) * | 2017-12-30 | 2019-07-04 | 平安科技(深圳)有限公司 | 网页数据处理方法、装置、计算机设备及计算机存储介质 |
WO2019136960A1 (zh) * | 2018-01-12 | 2019-07-18 | 深圳壹账通智能科技有限公司 | 一种爬取网站数据的方法、存储介质、服务器及装置 |
CN110062025A (zh) * | 2019-03-14 | 2019-07-26 | 深圳绿米联创科技有限公司 | 数据采集的方法、装置、服务器及存储介质 |
-
2020
- 2020-03-26 CN CN202010224236.9A patent/CN111460256A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120102019A1 (en) * | 2010-10-25 | 2012-04-26 | Korea Advanced Institute Of Science And Technology | Method and apparatus for crawling webpages |
CN103973682A (zh) * | 2014-04-30 | 2014-08-06 | 北京奇虎科技有限公司 | 进行网页访问的方法及装置 |
CN106375096A (zh) * | 2016-09-09 | 2017-02-01 | 北京小米移动软件有限公司 | 短信验证方法和装置 |
CN108090091A (zh) * | 2016-11-23 | 2018-05-29 | 北京国双科技有限公司 | 网页爬取方法和装置 |
CN107704497A (zh) * | 2017-08-25 | 2018-02-16 | 上海壹账通金融科技有限公司 | 网页数据爬取方法、装置、网页数据爬取平台及存储介质 |
WO2019127881A1 (zh) * | 2017-12-30 | 2019-07-04 | 平安科技(深圳)有限公司 | 网页数据处理方法、装置、计算机设备及计算机存储介质 |
WO2019136960A1 (zh) * | 2018-01-12 | 2019-07-18 | 深圳壹账通智能科技有限公司 | 一种爬取网站数据的方法、存储介质、服务器及装置 |
CN109815380A (zh) * | 2018-12-20 | 2019-05-28 | 山东中创软件工程股份有限公司 | 一种信息爬取方法、装置、设备及计算机可读存储介质 |
CN110062025A (zh) * | 2019-03-14 | 2019-07-26 | 深圳绿米联创科技有限公司 | 数据采集的方法、装置、服务器及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277451A (zh) * | 2022-07-28 | 2022-11-01 | 中译语通科技股份有限公司 | 一种基于自动化模拟器的账号登入信息初始化方法及系统 |
CN115277451B (zh) * | 2022-07-28 | 2024-07-12 | 中译语通科技股份有限公司 | 一种基于自动化模拟器的账号登入信息初始化方法及系统 |
CN117714537A (zh) * | 2024-02-06 | 2024-03-15 | 湖南四方天箭信息科技有限公司 | 一种访问方法、装置、终端和存储介质 |
CN117714537B (zh) * | 2024-02-06 | 2024-04-16 | 湖南四方天箭信息科技有限公司 | 一种访问方法、装置、终端和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9491182B2 (en) | Methods and systems for secure internet access and services | |
US20130054433A1 (en) | Multi-Factor Identity Fingerprinting with User Behavior | |
EP3178011B1 (en) | Method and system for facilitating terminal identifiers | |
WO2019024161A1 (zh) | 基于区块链的数据管理方法、区块链系统、服务器及可读存储介质 | |
US20180196875A1 (en) | Determining repeat website users via browser uniqueness tracking | |
CN108418787B (zh) | 企业资源计划数据的采集方法、终端设备及介质 | |
CN111343168B (zh) | 一种身份验证的方法、装置、计算机设备及可读存储介质 | |
CN113489713B (zh) | 网络攻击的检测方法、装置、设备及存储介质 | |
CN110264190A (zh) | 智能合约的触发方法、装置、设备及存储介质 | |
CN109245928B (zh) | 配置信息的设置方法和装置、终端管理系统 | |
CN111460404A (zh) | 双录数据处理方法、装置、计算机设备及存储介质 | |
CN113315828B (zh) | 一种流量录制方法、装置及流量录制设备、存储介质 | |
CN109547426B (zh) | 业务响应方法及服务器 | |
CN111460256A (zh) | 网页数据的爬取方法、装置、计算机设备和存储介质 | |
US20150302089A1 (en) | Recovery of Information from Commercial Web Portals | |
CN114020578A (zh) | 基于用户画像的异常账户检测方法、装置、设备及介质 | |
CN108650123B (zh) | 故障信息记录方法、装置、设备和存储介质 | |
CN112347457A (zh) | 异常账户检测方法、装置、计算机设备和存储介质 | |
CN116094849B (zh) | 应用访问鉴权方法、装置、计算机设备和存储介质 | |
CN112446723A (zh) | 确定用户邀请关系的方法、计算机可读存储介质和设备 | |
CN114944942A (zh) | 一种基于有效埋点的数据上报方法、装置、计算机设备及介质 | |
CN115600201A (zh) | 一种电网系统软件的用户账户信息安全处理方法 | |
CN115220714A (zh) | 应用程序编程接口的开发方法及装置 | |
WO2017036607A1 (en) | Device integrity based assessment of a user action associated with an advertisement | |
CN111784352A (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 |