申请登录凭证的方法和装置与流程

文档序号:11063640阅读:515来源:国知局
申请登录凭证的方法和装置与制造工艺

本发明涉及互联网技术领域,尤其涉及一种申请登录凭证的方法和装置。



背景技术:

网络爬虫是一种按照一定的规则,自动抓取万维网信息的程序。在实际应用中,爬虫程序在爬取各种网站时,常常会遇到需要登录凭证才有权爬取网页内容的网站。在这种情况下,在爬虫程序爬取网站之前,会先向网站服务器发送登录账号;网站服务器接收到登录账号后,会通过验证规则对该登录账号进行验证;若验证通过,则向该爬虫程序反馈登录凭证,以便爬虫程序通过登录凭证爬取该网站上的网页内容。然而,网站服务器验证登录账号却需要花费较长的时间,并且当存在大量的爬虫程序使用相同的登录账号向网站服务器申请登录凭证时,网站服务器会暂时停用该登录账号,此时爬虫程序又需要更换登录账号,再次向网站服务器申请登录凭证,从而使得申请登录凭证的效率较低。



技术实现要素:

鉴于上述技术问题,本发明提供了一种申请登录凭证的方法和装置,能够解决现有技术中爬虫程序申请登录凭证效率低的问题。

一方面,本发明提供了一种申请登录凭证的方法,所述方法包括:

接收爬虫程序发送的登录凭证请求,所述登录凭证请求用于申请获得所述爬虫程序待爬取网站的登录凭证;

获取所述登录凭证请求中携带的网址;

从本地获取与所述网址对应的登录凭证;

向所述爬虫程序发送所述登录凭证。

另一方面,本发明提供了一种申请登录凭证的装置,所述装置包括:

接收单元,用于接收爬虫程序发送的登录凭证请求,所述登录凭证请求用于申请获得所述爬虫程序待爬取网站的登录凭证;

获取单元,用于获取所述接收单元接收的所述登录凭证请求中携带的网址;

所述获取单元,还用于从本地获取与所述网址对应的登录凭证;

发送单元,用于向所述爬虫程序发送所述获取单元获取的所述登录凭证。

借由上述技术方案,本发明提供的申请登录凭证的方法和装置,能够当爬虫程序待爬取的网站需要登录凭证才能爬取该网站上的网页时,爬虫程序直接向登录凭证管理器发送携带网址的登录凭证请求,登录凭证管理器接收该登录凭证请求后,可直接在本地查找与该网址对应的登录凭证,而无需让爬虫程序发送登录信息(例如登录账号),并对登录信息进行繁琐的验证操作,同时也不存在由于所使用的登录账号被暂时停用,而需要更换登录账号再次向网站服务器申请登录凭证的现象,从而提高了爬虫程序申请登录凭证的效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种申请登录凭证的方法的流程图;

图2示出了本发明实施例提供的一种申请登录凭证的装置的组成框图;

图3示出了本发明实施例提供的另一种申请登录凭证的装置的组成框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更 透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种申请登录凭证的方法,如图1所示,该方法包括:

101、接收爬虫程序发送的登录凭证请求。

其中,登录凭证请求用于申请获得爬虫程序待爬取网站的登录凭证。在实际应用中,当某终端上的爬虫程序启动时,登录凭证管理器会同时启动。当爬虫程序待爬取的网站需要有登录凭证才能进行爬取操作时,爬虫程序会向登录凭证管理器发送登录凭证请求,以便获得登录凭证,通过登录凭证爬取待爬取网站上的网页。其中,登录凭证管理器用于管理各个网站的登录凭证,登录凭证管理器存储有各个网站的网址以及与网址相对应的登录凭证。

102、获取登录凭证请求中携带的网址。

当接收到爬虫程序发送的登录凭证请求后,登录凭证管理器需要对该登录凭证请求进行解析,从中获取爬虫程序待爬取网站的网址,以便登录凭证管理器根据获得的网址查找对应的登录凭证。

103、从本地获取与网址对应的登录凭证。

在上述步骤101中提及,登录凭证管理器中存储有各个网站的网址以及与网址相对应的登录凭证,因此,在获得登录凭证请求中携带的网址后,需要先在本地查找到该网址,然后根据本地存储的网址与登录凭证的对应关系,查找到与该网址对应的登录凭证。

104、向爬虫程序发送登录凭证。

当从本地获取爬虫程序待爬取网站的网址所对应的登录凭证后,登录凭证管理器可将获得的登录凭证反馈给爬虫程序,以便爬虫程序通过接收到的登录凭证爬取待爬取网站上的网页。

在现有技术中,常常存在多个爬虫程序同时爬取同一个网站上的网页,因此,可能会发生多个爬虫程序同时使用同一个登录账号向网站服务器申请登录凭证,从而造成该等登录账号失效(或暂时失效)的现象。然而,在本发明实施例中,爬虫程序无需使用账号申请登录凭证,只需使用网址 向登录凭证管理器申请登录凭证即可,从而不会出现由于频繁使用同一登录账号申请登录凭证,而造成登录账号失效(或暂时失效)的情况,进而提高了登录账号的利用率。

本发明实施例提供的申请登录凭证的方法,能够当爬虫程序待爬取的网站需要登录凭证才能爬取该网站上的网页时,爬虫程序直接向登录凭证管理器发送携带网址的登录凭证请求,登录凭证管理器接收该登录凭证请求后,可直接在本地查找与该网址对应的登录凭证,而无需让爬虫程序发送登录信息(例如登录账号),并对登录信息进行繁琐的验证操作,同时也不存在由于所使用的登录账号被暂时停用,而需要更换登录账号再次向网站服务器申请登录凭证的现象,从而提高了爬虫程序申请登录凭证的效率。

进一步的,在从本地获取与登录凭证请求中携带的网址相对应的登录凭证时,登录凭证管理器需要先检测本地是否存储有与该网址对应的登录凭证;当本地存储有与该网址对应的登录凭证时,可直接从本地获取登录凭证;而当本地没有与该网址对应的登录凭证时,可向爬虫程序发送用于指示无法获得登录凭证的反馈信息,以便爬虫程序直接向网站服务器申请登录凭证。

进一步的,当登录凭证管理器检测到本地没有与登录凭证请求中携带的网址相对应的登录凭证时,还可以通过以下方法获得登录凭证:

a1、登录凭证管理器获取与网址对应的网站的登录信息。

其中,登录信息为网站服务器下发登录凭证前需要验证的信息,例如登录账号。登录凭证管理器中存储有各个网站的登录信息,当第一次有爬虫程序想要获得某网站的登录凭证时,登录凭证管理器中没有预先存储的登录凭证,因此需要通过本地存储的与该网站对应的登录信息向网站服务器申请登录凭证。

a2、登录凭证管理器向网站的网站服务器发送携带登录信息的登录凭证请求。

需要说明的是,登录凭证管理器向网站服务器发送的登录凭证请求中携带的内容与爬虫程序向登录凭证管理器发送的登录凭证请求中携带的内容不同。由于向网站服务器申请登录凭证需要验证登录信息,当登录信息 验证通过后,才可获得登录凭证,所以本步骤中登录凭证管理器向网站服务器发送的登录凭证请求中携带的内容是登录信息。

a3、登录凭证管理器接收并保存网站服务器发送的登录凭证。

具体的,网站服务器接收到登录凭证管理器发送的登录凭证请求后,会对该登录凭证请求进行解析,从中获取登录信息,然后对获得的登录信息进行验证。若验证通过,则网站服务器会向登录凭证管理器发送登录凭证,登录凭证管理器接收到该登录凭证后,会将该登录凭证保存到本地,并保存对应网站的网址,然后将该登录凭证反馈给爬虫程序,以便爬虫程序通过登录凭证爬取网页。

进一步的,当爬虫程序待爬取的网站是一个新网站时,登录凭证管理器中没有存储关于该新网站的登录凭证以及登录信息,此时登录凭证管理器无法获得对应该网站的登录凭证,因此为了让爬虫程序获知登录凭证管理器无法获得登录凭证,以便爬虫程序及时向网站服务器申请登录凭证,本发明实施例对上述方案做如下改进:

若本地既没有存储与网址对应的登录凭证,也没有存储与网址对应的网站的登录信息,则登录凭证管理器会向爬虫程序发送第一反馈信息,其中,第一反馈信息用于指示无法获得与网址对应的登录凭证。

进一步的,由于在实际应用中,各个网站的登录凭证都具有一定的时效性,即向网站服务器申请的登录凭证在一定时间后会失效,所以为避免登录凭证管理器向各个爬虫程序发送的登录凭证均为失效的登录凭证,从而使得各个爬虫程序无法爬取待爬取的网页,需要检测出失效的登录凭证,并将失效的登录凭证从本地删除。具体的,验证登录凭证是否失效的方法有多种,下面主要对以下两种方法进行介绍:

第一种方法:登录凭证管理器接收爬虫程序发送的第二反馈信息,并根据第二反馈信息,检测本地是否存储有与失效的登录凭证相同的登录凭证;若本地存储有与失效的登录凭证相同的登录凭证,则将与失效的登录凭证相同的登录凭证删除;若本地没有与失效的登录凭证相同的登录凭证,则不作任何处理。

其中,第二反馈信息中携带有失效的登录凭证。当爬虫程序接收到登 录凭证管理器发送的登录凭证后,会通过该登录凭证爬取待爬取的网页。当爬虫程序无法成功爬取待爬取的网页时,会确定该登录凭证失效,并将携带失效登录凭证的第二反馈信息反馈给登录凭证管理器。登录凭证管理器接收到第二反馈信息后,会将本地存储的、与第二反馈信息中携带的登录凭证相同的登录凭证删除,以避免以后爬虫程序(该爬虫程序或者其他爬虫程序)向登录凭证管理申请同样的登录凭证时,登录凭证管理器会将失效的登录凭证发送给爬虫程序,从而造成更多的爬虫程序无法成功爬取待爬取的网页。

第二种方法:检测本地存储的登录凭证的存储时间;判断存储时间是否大于预设时间阈值;若存储时间大于预设时间阈值,则将与存储时间对应的登录凭证删除。

具体的,当登录凭证管理器第一次接收到某网站服务器发送的登录凭证时,会记录一下接收时间,然后会对该登录凭证进行实时检测,判断该登录凭证的存储时间是否超过对应的预设时间阈值,若超过预设时间阈值,说明该登录凭证已经失效,需要将其删除,以避免将失效的登录凭证发送给爬虫程序。

需要说明的是,由于各个网站的登录凭证的有效时间往往不同,所以不同的登录凭证可能对应不同的预设时间阈值。因此,在验证某登录凭证是否失效时,需要先获得与该登录凭证对应的预设时间阈值,再验证该登录凭证的存储时间是否超过预设时间阈值。

由于第二种方法是通过实时检测存储的每个登录凭证是否超过预设时间阈值来验证登录凭证是否失效的,而第一种方法则是在接收到爬虫程序发送的携带失效登录凭证的反馈信息后,才获知登录凭证失效的,所以第二种方法与第一种方法相比,能够更快速地检测出失效的登录凭证,并将其删除。

进一步的,依据上述方法实施例,本发明的另一个实施例还提供了一种申请登录凭证的装置,如图2所示,该装置包括接收单元21、获取单元22和发送单元23。其中,

接收单元21,用于接收爬虫程序发送的登录凭证请求,登录凭证请求 用于申请获得爬虫程序待爬取网站的登录凭证;

获取单元22,用于获取接收单元21接收的登录凭证请求中携带的网址;

获取单元22,还用于从本地获取与网址对应的登录凭证;

发送单元23,用于向爬虫程序发送获取单元22获取的登录凭证。

在现有技术中,常常存在多个爬虫程序同时爬取同一个网站上的网页,因此,可能会发生多个爬虫程序同时使用同一个登录账号向网站服务器申请登录凭证,从而造成该等登录账号失效(或暂时失效)的现象。然而,在本发明实施例中,爬虫程序无需使用账号申请登录凭证,只需使用网址向登录凭证管理器申请登录凭证即可,从而不会出现由于频繁使用同一登录账号申请登录凭证,而造成登录账号失效(或暂时失效)的情况,进而提高了登录账号的利用率。

本发明实施例提供的申请登录凭证的装置,能够当爬虫程序待爬取的网站需要登录凭证才能爬取该网站上的网页时,爬虫程序直接向登录凭证管理器发送携带网址的登录凭证请求,登录凭证管理器接收该登录凭证请求后,可直接在本地查找与该网址对应的登录凭证,而无需让爬虫程序发送登录信息(例如登录账号),并对登录信息进行繁琐的验证操作,同时也不存在由于所使用的登录账号被暂时停用,而需要更换登录账号再次向网站服务器申请登录凭证的现象,从而提高了爬虫程序申请登录凭证的效率。

进一步的,如图3所示,获取单元22,包括:

检测模块221,用于检测本地是否存储有与网址对应的登录凭证;

获取模块222,用于当检测模块221的检测结果为本地存储有与网址对应的登录凭证时,从本地获取登录凭证。

进一步的,获取模块222,还用于当检测模块221的检测结果为本地没有与网址对应的登录凭证时,获取与网址对应的网站的登录信息;

如图3所示,获取单元22进一步包括:

发送模块223,用于向网站的网站服务器发送携带获取模块222获取的登录信息的登录凭证请求;

接收模块224,用于接收并保存网站服务器发送的登录凭证。

进一步的,获取模块222,还用于获取与网址对应的网站的登录账号。

进一步的,发送模块223,还用于当本地没有存储与网址对应的网站的登录信息时,向爬虫程序发送第一反馈信息,第一反馈信息用于指示无法获得与网址对应的登录凭证。

进一步的,接收单元21,还用于接收爬虫程序发送的第二反馈信息,第二反馈信息中携带有失效的登录凭证;

如图3所示,该装置进一步包括:

第一检测单元24,用于检测本地是否存储有与接收单元21接收的失效的登录凭证相同的登录凭证;

第一删除单元25,用于当第一检测单元24的检测结果为本地存储有与失效的登录凭证相同的登录凭证时,将与失效的登录凭证相同的登录凭证删除。

进一步的,如图3所示,该装置进一步包括:

第二检测单元26,用于检测本地存储的登录凭证的存储时间;

判断单元27,用于判断第二检测单元26检测的存储时间是否大于预设时间阈值;

第二删除单元28,用于当判断单元27的判断结果为存储时间大于预设时间阈值时,将与存储时间对应的登录凭证删除。

该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

所述申请登录凭证的装置包括处理器和存储器,上述接收单元、获取单元和发送单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高获取登录凭证的效率。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:

接收爬虫程序发送的登录凭证请求,登录凭证请求用于申请获得爬虫程序待爬取网站的登录凭证;

获取登录凭证请求中携带的网址;

从本地获取与网址对应的登录凭证;

向爬虫程序发送登录凭证。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的 功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1