CN108090091A - 网页爬取方法和装置 - Google Patents
网页爬取方法和装置 Download PDFInfo
- Publication number
- CN108090091A CN108090091A CN201611042702.1A CN201611042702A CN108090091A CN 108090091 A CN108090091 A CN 108090091A CN 201611042702 A CN201611042702 A CN 201611042702A CN 108090091 A CN108090091 A CN 108090091A
- Authority
- CN
- China
- Prior art keywords
- login authentication
- authentication information
- target
- information
- task
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种网页爬取方法和装置。其中,该方法包括:从爬取任务中查找目标登录验证信息,其中,爬取任务为网络爬虫爬取目标网页的页面内容的任务,目标登录验证信息用于表示爬虫具有爬取页面内容的权限;判断是否从爬取任务中查找到了目标登录验证信息;如果判断出没有从爬取任务中查找到目标登录验证信息,则根据预配置文件查找目标登录验证信息,其中,预配置文件中包含多个网页的登录验证信息;根据查找到的目标登录验证信息爬取目标网页中的页面内容。本申请解决了现有技术中爬虫在执行爬取任务时由于目标登录验证信息失效导致爬取任务失败的技术问题。
Description
技术领域
本申请涉及互联网领域,具体而言,涉及一种网页爬取方法和装置。
背景技术
网络爬虫是一种可以自动下载网站数据的机器人程序,它可以通过下载某个指定网站的所有链接来获取开发者想要获取的信息。在定制网络爬虫所爬取的网站时,往往需要爬虫以某个账号的身份登录网站之后,才可爬取网页内容。但是,由于网站采用的技术栈千差万别,因此,每个网站的身份验证系统实现都有或多或少的不一致。
由于网络爬虫在爬取数据时需要非常高的下载数据性能,并且需要兼顾系统的扩展性,因此,一般的大型爬虫系统会设计为分布式,其中,分布式的意思是由任意多个爬虫节点去一个任务调度池中获取爬取任务。也就是说,每个爬虫节点并不负责记录任何爬取过程产生的数据。为保证网络质量,一般情况下,将爬虫节点分散到各个运营商,防止某个运营商的网络故障导致的实时爬取数据质量受损。因此,这就代表每个爬虫节点访问外网时的IP地址不一致。
例如,爬虫系统有10个爬虫节点(1~10),共有两个运营商(A、B)。将爬虫按运营商均匀分为两个组,A1~A5、B6~B10。爬虫系统中单独有一个处理登录凭证获取的登录服务CredentialServer,其中,该服务的所属的运营商为A,登录服务在下文中简称为C。按上述编号举例子来讲:当A1爬虫节点接到一个带有登录要求的爬虫任务时,A1爬虫会调用C服务请求登录凭证,然后,C服务向指定网站请求登录凭证。请求登录时是从A运营商网络出口发送。完成登录任务后,A1爬虫节点完成对该网页的爬取,之后将后续任务继续发送到任务池继续爬取。该任务随后被A2节点获取到,那么A2节点携带登录成功标识可以正常获取数据。但是,如果B运营商范围的爬虫节点获取到该爬虫任务,由于登录凭证只对A运营商出口IP有效,因此,爬取任务会失败。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种网页爬取方法和装置,以至少解决现有技术中爬虫在执行爬取任务时由于目标登录验证信息失效导致爬取任务失败的技术问题。
根据本申请实施例的一个方面,提供了一种网页爬取方法,包括:从爬取任务中查找目标登录验证信息,其中,所述爬取任务为网络爬虫爬取目标网页的页面内容的任务,所述目标登录验证信息用于表示所述爬虫具有爬取所述页面内容的权限;判断是否从所述爬取任务中查找到了所述目标登录验证信息;如果判断出没有从所述爬取任务中查找到所述目标登录验证信息,则根据预配置文件查找所述目标登录验证信息,其中,所述预配置文件中包含多个网页的登录验证信息;根据查找到的所述目标登录验证信息爬取所述目标网页中的页面内容。
进一步地,根据查找到的所述目标登录验证信息爬取所述目标网页中的页面内容包括:判断所述目标登录验证信息是否为有效验证信息,其中,所述有效验证信息能够指示所述爬虫成功爬取所述目标网页的页面内容;如果判断出所述目标登录验证信息是所述有效验证信息,则爬取所述目标网页中的页面内容;如果判断出所述目标登录验证信息不是所述有效验证信息,则重新在所述预配置文件中查找所述目标登录验证信息,并判断重新获取到的所述目标登录验证信息是否为所述有效验证信息。
进一步地,判断所述目标登录验证信息是否为有效验证信息包括:获取所述目标网页返回的目标状态码;判断所述目标状态码是否为预设状态码;如果判断出所述目标状态码为所述预设状态码,则确定所述目标登录验证信息不是所述有效验证信息;如果判断出所述目标状态码不是所述预设状态码,则提取所述目标网页的页面特征信息,并根据所述页面特征信息确定所述目标登录验证信息是否为所述有效验证信息。
进一步地,根据所述页面特征信息确定所述目标登录验证信息是否为所述有效验证信息包括:将提取到的所述页面特征信息与失效验证信息进行匹配;如果所述页面特征信息与所述失效验证信息未匹配成功,则确定所述目标登录验证信息为所述有效验证信息;如果所述页面特征信息与所述失效验证信息匹配成功,则确定所述目标登录验证信息不是所述有效验证信息。
进一步地,在确定所述目标登录验证信息不是所述有效验证信息之后,所述方法还包括:重新在所述预配置文件中查找所述目标登录验证信息,并判断重新获取到的所述目标登录验证信息是否为所述有效验证信息;对连续判断出所述目标登录验证信息不是所述有效验证信息的累计次数进行计数,判断所述累计次数是否超过预设次数;如果判断出所述累计次数超过所述预设次数,则控制所述爬虫停止执行所述爬取任务;如果判断出所述累计次数未超过所述预设次数,则继续判断所述目标登录验证信息是否为所述有效验证信息。
进一步地,在获取到的爬取任务中查找登录验证信息之前,所述方法还包括:获取所述爬取任务;判断在执行所述爬取任务时是否需要登录信息,其中,所述登录信息用于登录所述目标网页;如果判断出需要所述登录信息,则从所述爬取任务中查找所述目标登录验证信息。
进一步地,在根据预配置文件查找到所述目标登录验证信息后,所述方法还包括:将查找到的所述目标登录验证信息在缓存空间中进行缓存,以便下次执行所述爬取任务时,通过缓存的目标登录验证信息进行任务爬取。
根据本申请实施例的另一方面,还提供了一种网页爬取装置,包括:第一查找单元,用于从爬取任务中查找目标登录验证信息,其中,所述爬取任务为网络爬虫爬取目标网页的页面内容的任务,所述目标登录验证信息用于表示所述爬虫具有爬取所述页面内容的权限;第一判断单元,用于判断是否从所述爬取任务中查找到了所述目标登录验证信息;第二查找单元,用于在判断出没有从所述爬取任务中查找到所述目标登录验证信息的情况下,根据预配置文件查找所述目标登录验证信息,其中,所述预配置文件中包含多个网页的登录验证信息;爬取单元,用于根据查找到的所述目标登录验证信息爬取所述目标网页中的页面内容。
进一步地,所述爬取单元包括:判断子单元,用于判断所述目标登录验证信息是否为有效验证信息,其中,所述有效验证信息能够指示所述爬虫成功爬取所述目标网页的页面内容;爬取子单元,用于在判断出所述目标登录验证信息是所述有效验证信息的情况下,爬取所述目标网页中的页面内容;查找子单元,用于在判断出所述目标登录验证信息不是所述有效验证信息的情况下,重新在所述预配置文件中查找所述目标登录验证信息,并判断重新获取到的所述目标登录验证信息是否为所述有效验证信息。
进一步地,所述判断子单元包括:第一获取模块,用于获取所述目标网页返回的目标状态码;第一判断模块,用于判断所述目标状态码是否为预设状态码,其中,当所述目标状态码为所述预设状态码时,则表明所述目标登录验证信息不是所述有效验证信息;第一确定模块,用于在判断出所述目标状态码为所述预设状态码的情况下,确定所述目标登录验证信息不是所述有效验证信息;提取验证模块,用于在判断出所述目标状态码不是所述预设状态码的情况下,提取所述目标网页的页面特征信息,并根据所述页面特征信息确定所述目标登录验证信息是否为所述有效验证信息。
进一步地,提取验证模块包括:匹配子模块,用于将提取到的所述页面特征信息与失效验证信息进行匹配;第一确定模块,用于在所述页面特征信息与所述失效验证信息未匹配成功的情况下,确定所述目标登录验证信息为所述有效验证信息;第二确定子模块,用于在所述页面特征信息与所述失效验证信息匹配成功的情况下,确定所述目标登录验证信息不是所述有效验证信息。
进一步地,所述装置还包括:第三查找单元,用于在确定所述目标登录验证信息不是所述有效验证信息之后,重新在所述预配置文件中查找所述目标登录验证信息,并判断重新获取到的所述目标登录验证信息是否为所述有效验证信息;第三判断单元,用于对连续判断出所述目标登录验证信息不是所述有效验证信息的累计次数进行计数,判断所述累计次数是否超过预设次数;控制单元,用于在判断出所述累计次数超过所述预设次数的情况下,控制所述爬虫停止执行所述爬取任务;第四判断单元,用于在判断出所述累计次数未超过所述预设次数的情况下,继续判断所述目标登录验证信息是否为所述有效验证信息。
进一步地,所述装置还包括:第二获取单元,用于在获取到的爬取任务中查找登录验证信息之前,获取所述爬取任务;第五判断单元,用于判断在执行所述爬取任务时是否需要登录信息,其中,所述登录信息用于登录所述目标网页;第三查找单元,用于在判断出需要所述登录信息的情况下,从所述爬取任务中查找所述目标登录验证信息。
进一步地,所述装置还包括:缓存单元,用于在根据预配置文件查找所述目标登录验证信息之后,将查找到的所述目标登录验证信息在缓存空间中进行缓存,以便下次执行所述爬取任务时,通过缓存的目标登录验证信息进行任务爬取。
在本申请实施例中,首先判断是否从爬取任务中查找到目标登录验证信息,如果没有查找到目标登录验证信息,则从预配置文件中查找目标登录验证信息,然后,根据查找到的目标登录验证信息爬取目标网页,相对于现有技术中网络爬虫执行爬取任务的方式,达到了成功执行爬取任务的目的,从而实现了即使查找到的目标登录验证失效也能够执行爬取任务的技术效果,进而解决了现有技术中爬虫在执行爬取任务时由于目标登录验证信息失效导致爬取任务失败的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种网页爬取方法的流程图;
图2是根据本申请实施例的一种可选地网页爬取方法的流程图;
图3是根据本申请实施例的一种确定目标登录验证信息是否失效的方法的流程图;以及
图4是根据本申请实施例的一种网页爬取装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种网页爬取方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种网页爬取方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,从爬取任务中查找目标登录验证信息,其中,爬取任务为网络爬虫爬取目标网页中的页面内容的任务,目标登录验证信息用于表示爬虫具有爬取页面内容的权限。
在本申请实施例中,目标登录验证信息又可以称为登录成功凭证,其中,携带登录成功凭证的网络爬虫才可以继续浏览目标网页,并爬取目标网页的页面内容,如果未携带登录成功凭证,那么就无法爬取目标网页,也即,上述目标登录验证信息用于表示爬虫具有爬取目标网页的页面内容的权限。
网络爬虫在使用账号和对应的密码登录目标网页时,会将该账号和密码发送至服务器,以向服务器请求登录成功凭证;服务器在获取到该账号和密码之后,如果账号和密码为有效账号和有效密码,那么就会向爬虫发送登录成功凭证,进而,爬虫就可以携带该登录成功凭证执行爬取任务。
步骤S104,判断是否从爬取任务中查找到了目标登录验证信息。
在本申请实施例中,如果网络爬虫非首次登录目标网页,那么在爬取任务中就会有该目标登录验证信息;如果爬虫首次登录目标网页,那么在爬取任务中就不会存有该目标登录验证信息,此时,网络爬虫可以使用上述账号和密码登录目标网页,以向服务器请求目标登录验证信息。
进一步地,通过背景技术中的描述可知,如果在运营商B范围内网络爬虫B获取到运营商A范围内的网络爬虫A执行之后的爬取任务,那么网络爬虫A所携带的登录成功凭证对运营商B无效。所以在本申请实施例中,为了防止上述问题的出现,设置了判断逻辑,即判断是否从爬取任务中查找到了目标登录验证信息。如果没有查找到该目标登录验证信息,就可以执行下述步骤S106。
步骤S106,如果判断出没有从爬取任务中查找到目标登录验证信息,则从预配置文件中查找目标登录验证信息,其中,预配置文件中包含多个网页的登录验证信息。
经过上述步骤S104的判断可知,如果在爬取任务中没有查找到目标登录验证信息,那么就可以从预配置文件中查找目标登录验证信息。
在本申请实施例中,技术研发人员可以预先对需要爬取的网页进行调研,然后,对需要爬取的网页的信息进行汇集,并将汇集之后的网页信息作为爬虫种子(也即,网页种子),其中,爬虫种子为爬虫执行爬取任务时的爬取入口;接下来,爬虫程序对需要登录的网页种子标记凭证(credential)信息。然后,编写相应的登录逻辑插件并集成到爬虫程序中,其中,在该登录逻辑插件中包含预配置文件,并且在该预配置文件中包含每个爬虫节点在遇到需要登录的指定网页时对该网站进行登录的方法,例如,网页的登录账号密码等信息。
如果爬虫程序在爬取任务中没有查找到目标登录验证信息,那么爬虫程序可以读取预配置文件中的登录账号密码等信息,然后,将查找到的登录账号密码等信息发送至服务器,以向服务器请求该目标登录验证信息。爬虫程序在获取到的该目标登录验证信息之后,就可以根据获取到的目标登录验证信息执行爬取任务。
步骤S108,根据查找到的目标登录验证信息爬取目标网页中的页面内容。
在本申请实施例中,在上述步骤S106中查找到目标登录验证信息之后,就可以根据查找到的目标登录验证信息对目标网页中的页面内容进行爬取。
在本申请实施例中,首先判断是否从爬取任务中查找到目标登录验证信息,如果没有查找到目标登录验证信息,则从预配置文件中查找目标登录验证信息,然后,根据查找到的目标登录验证信息爬取目标网页,相对于现有技术中网络爬虫执行爬取任务的方式,达到了成功执行爬取任务的目的,从而实现了即使查找到的目标登录验证失效也能够执行爬取任务的技术效果,进而解决了现有技术中爬虫在执行爬取任务时由于目标登录验证信息失效导致爬取任务失败的技术问题。
在本申请的一个可选实施方式中,由于爬虫程序获取到的目标登录验证信息可能是失效信息。因此,在获取到目标登录验证信息之后,需要验证目标登录验证信息是否失效,具体地,根据查找到的目标登录验证信息爬取目标网页中的页面内容包括:
判断目标登录验证信息是否为有效验证信息,其中,有效验证信息能够指示爬虫成功爬取目标网页的页面内容;如果判断出目标登录验证信息是有效验证信息,则爬取目标网页中的页面内容;如果判断出目标登录验证信息不是有效验证信息,则重新在预配置文件中查找目标登录验证信息,并判断重新获取到的目标登录验证信息是否为有效验证信息。
在本发明的另一个可选实施方式中,判断目标登录验证信息是否为有效验证信息包括:获取目标网页返回的目标状态码;判断目标状态码是否为预设状态码;如果判断出目标状态码为预设状态码,则确定目标登录验证信息不是有效验证信息;如果判断出目标状态码不是预设状态码,则提取目标网页的页面特征信息,并根据页面特征信息确定目标登录验证信息是有效验证信息。
在获取到目标登录验证信息之后,需要判断获取到的目标登录验证信息是否为有效验证信息。具体地,判断目标登录验证信息是否为有效验证信息的过程为:
首先,爬虫程序判断从服务器获取到的http状态码(即,上述目标状态码,下述均简称为状态码)是否为203或(500~599)(203或(500~599)即为上述预设状态码),其中,该http状态码为爬虫程序向服务器发送请求目标登录验证信息的请求时,服务器向爬虫程序返回的状态码。进一步地,http状态码又是一种互联网通用的通讯协议,它规定着请求与返回的状态码,操作动作谓词等信息。
当服务器返回的状态码为203或者500~599(即,预设状态码)时,认为状态码异常,此时,表明目标登录验证信息不是有效验证信息。如果返回的状态码为正常,即不是状态码203或者500~599(即,预设状态码),则可以初步表明此时目标登录验证信息为有效验证信息。但是,为了防止在登录异常情况下,依然返回正常的状态码,在本申请实施例中,可以提取目标网页的网页信息,并根据该网页信息进一步确定该目标登录验证信息是否为有效验证信息。其中,如果判断出目标登录验证信息是有效的验证信息,那么就可以通过网络爬虫爬取目标网页的页面内容;如果判断出目标登录验证信息不是有效的验证信息,那么需要再一次按照上述步骤S106中描述的方式,重新在预配置文件中查找目标登录验证信息,并判断重新获取到的目标登录验证信息是否为有效验证信息。
进一步地可选地,根据页面特征信息确定所述目标登录验证信息是否为有效验证信息包括下述步骤:
步骤S11,将提取到的页面特征信息与失效验证信息进行匹配;
步骤S12,如果页面特征信息与失效验证信息未匹配成功,则确定目标登录验证信息为有效验证信息;
步骤S13,如果页面特征信息与失效验证信息匹配成功,则确定目标登录验证信息不是有效验证信息。
在本申请实施例中,为了防止异常登录的情况下依然返回正常的状态码,可以在获取到目标登录验证信息之后,提取目标网页的页面特征信息,并采用对某网站定制的网页解析逻辑进行登录异常情况判断,即,将提取到的目标网页的页面特征信息与失效验证信息进行匹配,其中,失效验证信息又可以称为登录凭证失效条件。当提取到的页面特征信息与事先设置的失效验证信息(即,登录凭证失效条件)匹配成功时,则判定目标登录验证信息不是有效的验证信息,即,网络爬虫针对该目标网页的身份信息(登录账号和密码)失效。当提取到的页面特征信息与失效验证信息(即,登录凭证失效条件)匹配失败时,则确定目标登录验证信息是有效的验证信息。
在本申请的一个可选实施方式中,在确定目标登录验证信息不是有效验证信息之后,包括如下步骤:
步骤S21,重新在预配置文件中查找目标登录验证信息,并判断重新获取到的目标登录验证信息是否为有效验证信息;
步骤S22,对连续判断出目标登录验证信息不是有效验证信息的累计次数进行计数,判断累计次数是否超过预设次数;
步骤S23,如果判断出累计次数超过预设次数,则控制网络爬虫停止执行爬取任务;
步骤S24,如果判断出累计次数未超过预设次数,则继续判断目标登录验证信息是否为有效验证信息。
具体地,在本申请实施例中,如果判断出目标登录验证信息不是有效验证信息,将返回步骤S106和步骤S108,即重新在预配置文件中查找目标登录验证信息,并判断重新获取到的目标登录验证信息是否为有效验证信息。其中,如果判断出目标登录验证信息不是有效验证信息,则累计次数加1,此时,获取累计次数,并判断累计次数是否超过预设次数。如果判断出累计次数超过预设次数,控制网络爬虫停止执行爬起任务;如果判断出累计次数未超过预设次数,继续判断目标登录验证信息是否为有效验证信息。在执行上述步骤S24之后,如果再一次判断出目标登录验证信息不是有效验证信息,直至连续N次判断出目标登录验证信息不是有效验证信息,其中,N即为预设次数,预设次数可以根据实际需要进行选取。
需要说明的是,当连续判断出身份信息失效次数超过预设次数时,则记录该身份信息为失效身份信息的日志,并丢弃爬取任务;否则认为身份信息未失效,则继续执行爬取任务,或者将爬取结果进行存储。
例如,如果网络爬虫针对目标网页的身份信息异常时,网站返回的页面是:“登录信息已过期”等类似提示,其中,一般情况下,该提示存在于网页html源码中。因此,如果判断出目标登录验证信息是有效验证信息时,可以通过注入至网络爬虫中的html特征表达式(例如,正则表达式和Xpath表达式)提取页面的特征信息,得到相应地字符串,其中,在此情况下,获取到的字符串中包含“登录信息已过期”等类似提示。接下来,将获取到的字符串与匹配字符串CheckString(失效验证信息或者登录凭证失效条件)进行匹配,如果匹配成功,则表明页面特征信息即失效验证信息,也即,表明身份信息为失效信息。其中,在本申请实施例中,在上述步骤S104汇集爬虫种子,注入了当网络爬虫的身份信息异常时网站异常提示的html特征表达式(例如,正则表达式、Xpath是其中的两种)以及匹配字符串CheckString。
在本申请的另一个可选实施方式中,在获取到的爬取任务中查找登录验证信息之前,还可以:获取爬取任务,然后,判断在执行爬取任务时是否需要登录信息,其中,登录信息用于登录目标网页;如果判断出需要登录信息,则从爬取任务中查找目标登录验证信息。
具体地,任意网络爬虫从任务池中获取爬取任务之后,网络爬虫需要判断当前获取到的爬取任务是否需要登录信息进行登录。如果需要,那么就需要从爬取任务中查找目标登录验证信息,即,判断爬取任务中是否已经含有目标登录验证信息。如果不包含目标登录验证信息,则执行上述步骤S106和步骤S108。如果不需要,那么可以直接执行上述爬取任务进行爬取。
在本申请的另一个可选实施方式中,在根据预配置文件查找到所述目标登录验证信息后,还包括:将查找到的目标登录验证信息进行缓存,以便下次执行爬取任务时,通过缓存的目标登录验证信息进行任务爬取。
在本发明实施例中,在查找到目标登录验证信息之后,还可以将该信息记录到身份凭证缓存设施中(即,上述缓存空间),以便后续流程使用该凭证继续获取网站内容。
需要说明的是,在本发明实施例中,采用的爬虫为分布式爬虫系统,由于分布式爬虫系统中存在多IP出口(即,上述爬取地址端口)的情况。如果一个爬虫任务从A地址出口进行了身份凭证请求,之后任务被分发到B地址出口进行数据爬取时会因为步骤S102至步骤S108的检测逻辑通不过而再进行一次登录行为。如果这个爬虫任务按顺序循环被分发到A、B地址出口的集群中会造成死循环。仅当任务连续两次被投递到同一地址出口的爬虫节点时才会正常被爬取。应对这种问题,本申请还为爬虫系统设立共享缓存设施(即,缓存空间),其中,该缓存设施用于存储同步同一网站多IP出口的身份凭证。可选地,该缓存可以采用数据库等多种存储媒介实现。如表1所示的即为一种缓存结构:
表1
IP | Web Domain | Credentials |
1.1.1.1 | zhuanli.com | Token:abc123 |
网络爬虫在进行身份凭证请求时会以本机的网络出口IP和当前请求凭证的地址Web Domain作为查询条件到缓存中去查找身份凭证Credentials是否存在。如果不存在则申请新的凭证,并在申请成功后添加到缓存中去。如果缓存存在则将已有身份凭证取回爬虫节点中进行数据获取。
采用本申请提供的网页爬取方法,解决了具有多IP资源的分布式网络爬虫在应对某些IP信息敏感的网站登录被认为是异地登录被拒绝访问的问题。
图2是根据本申请实施例的一种可选地网页爬取方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,获取爬取任务。
步骤S204,判断在执行爬取任务时是否需要登录信息;其中,如果判断出需要登录信息,则执行步骤S206,如果判断出不需要登录信息,则执行步骤S214。
在本申请实施例中,网络爬虫首先从任务池中获取爬取任务,然后,网络爬虫判断当前获取到的爬取任务是否需要登录,即是否需要登录信息。如果判断出网络爬虫需要登录信息,则在预配置文件中查找目标登录验证信息(即,登录成功凭证)。
步骤S206,从爬取任务中查找目标登录验证信息。
步骤S208,判断是否查找到目标登录验证信息;其中,如果判断出未查找到目标登录验证信息,在执行步骤S210,如果判断出查找到目标登录验证信息,则执行步骤S212。
在本申请实施例中,如果没有查找到目标登录验证信息,那么可以执行步骤S210,即在预配置文件中查找目标登录验证信息,如果查找到目标登录验证信息,那么可以执行步骤S212,即判断目标登录验证信息是否失效。
步骤S210,根据预配置文件查找目标登录验证信息并记录在爬取任务中。
在本申请实施例中,技术研发人员可以预先对需要爬取的网页进行调研,然后,对需要爬取的网页的信息进行汇集,并将汇集之后的网页信息作为爬虫种子(也即,网页种子),其中,爬虫种子为爬虫执行爬取任务时的爬取入口;接下来,爬虫程序对需要登录的网页种子标记凭证(credential)信息。然后,编写相应的登录逻辑插件并集成到爬虫程序中,其中,在该登录逻辑插件中包含预配置文件,并且在该预配置文件中包含每个爬虫节点在遇到需要登录的指定网页时对该网站进行登录的方法,例如,网页的登录账号密码等信息。
如果判断出未查找到目标登录验证信息,爬虫可以执行登录逻辑获取目标登录验证信息,其中,目标登录验证信息可以通过向服务器发送请求,由服务器从历史登录记录中获取。具体地,网络爬虫执行指定登录插件读取预配置文件中的登录账号信息。然后,向网站服务器提交登录请求。网站服务器会以cookie等类似的目标登录验证信息返回。其中,该信息被记录到身份凭证缓存设施中以便后续流程使用该信息继续爬取获取网页内容。
步骤S212,判断目标登录验证信息是否失效;其中,如果判断出目标登录验证信息失效,则返回执行步骤S204,如果判断出目标登录验证信息未失效,则执行步骤S214。
步骤S214,执行爬取任务,并将爬取到的数据进行存储。
在本申请实施例中,由于爬虫程序获取到的目标登录验证信息可能是失效信息。因此,在获取到目标登录验证信息之后,需要验证目标登录验证信息是否失效。如果目标登录验证信息失效,则返回执行步骤S204,即,再一次判断在执行爬取任务时是否需要登录信息;如果目标登录验证信息未失效,则网络爬虫执行爬取任务,并将爬取到的数据进行存储。需要说明的是,上述步骤S212中的判断目标登录验证信息是否失效的过程将在下述实施例中进行详细说明。
图3是根据本申请实施例的一种确定目标登录验证信息是否失效的方法的流程图,如图3所示,该方法包括如下步骤:
步骤S301,网络爬虫使用目标登录验证信息请求网页。
步骤S302,判断网页服务器返回的状态码是否异常;其中,如果判断出网页服务器返回的状态码为异常的状态码,则执行步骤S309;如果判断出网页服务器返回的状态码为正常的状态码,则执行步骤S303。
在本申请实施例中,首先爬虫程序判断从网页服务器获取到的http状态码是否为203或(500~599),其中,该状态码为爬虫程序向服务器发送请求目标登录验证信息的请求时,服务器向爬虫程序返回的状态码。进一步地,http状态码又是一种互联网通用的通讯协议,它规定着请求与返回的状态码,操作动作谓词等信息。
当服务器返回的状态码为203或者500~599时,认为状态码异常,此时,表明目标登录验证信息不是有效验证信息。如果返回的状态码为正常,即不是状态码203或者500~599,表明此时目标登录验证信息为有效验证信息。
步骤S303,提取目标网页的页面特征信息。
步骤S304,判断页面特征信息与失效验证信息是否相匹配;其中,如果判断出页面特征信息与失效验证信息相匹配,则执行步骤S305;如果判断出页面特征信息与失效验证信息不匹配,则执行步骤S308。
步骤S305,获取判断出的页面特征信息与失效验证信息相匹配的次数A;
步骤S306,判断次数A是否超过预设次数A;如果判断出次数A超过预设次数A,则执行步骤307,如果判断出次数A未超过预设次数A,返回执行步骤S304。
步骤S307,丢弃爬取任务。
步骤S308,爬取目标网页的页面内容。
在本申请实施例中,为了防止异常登录的情况下依然返回正常的状态码,可以在获取到目标登录验证信息之后,提取目标网页的页面特征信息,并采用对某网站定制的网页解析逻辑进行登录异常情况判断,即,将提取到的目标网页的页面特征信息与失效验证信息进行匹配,其中,失效验证信息又可以称为登录凭证失效条件。当提取到的页面特征信息与事先设置的失效验证信息(即,登录凭证失效条件)匹配成功时,则判定目标登录验证信息不是有效的验证信息,即,网络爬虫针对该目标网页的身份信息(登录账号和密码)失效。此时,将重新判断页面特征信息是否为失效验证信息,也即重新判断网络爬虫针对目标网页的身份信息是否失效。
需要说明的是,当连续判断出身份信息失效次数A超过预设次数A时,则记录该身份信息为失效身份信息的日志,并丢弃爬取任务;否则认为身份信息未失效,则继续执行爬取任务,即爬取目标网页的页面内容,或者将爬取结果进行存储。
步骤S309,获取连续判断出网页服务器返回的状态码为异常状态码的累计次数B,即获取连续判断出目标登录验证信息不是有效验证信息的累计次数B;
步骤S310,判断累计次数B是否超过预设次数B;如果判断出累计次数B超过预设次数B,则执行步骤311,如果判断出次数B未超过预设次数B,返回执行步骤S312。
步骤S311,丢弃爬取任务。
步骤S312,爬取目标网页的页面内容。
具体地,在本申请实施例中,如果判断出目标登录验证信息不是有效验证信息,则再一次判断目标登录验证信息是否为有效验证信息。其中,如果判断出目标登录验证信息不是有效验证信息,则累计次数加1,此时,即获取累计次数B,并判断累计次数B是否超过预设次数B。如果判断出累计次数B超过预设次数B,控制网络爬虫停止执行爬起任务,并丢弃爬取任务;如果判断出累计次数B未超过预设次数B,则继续判断目标登录验证信息是否为有效验证信息。如果再一次判断出目标登录验证信息不是有效验证信息,直至连续N次判断出目标登录验证信息不是有效验证信息,其中,N即为预设次数,预设次数可以根据实际需要进行选取。
本申请实施例还提供了一种网页爬取装置,该网页爬取装置主要用于执行本申请实施例上述内容所提供的网页爬取方法,以下对本申请实施例送提供的网页爬取装置做具体介绍。
图4是根据本申请实施例的一种网页爬取装置的示意图,如图4所示,该用于获取裁判文书案由的数据处理主要包括第一查找单元41、第一判断单元43、第二查找单元45和爬取单元47,其中:
第一查找单元41,用于从爬取任务中查找目标登录验证信息,其中,爬取任务为网络爬虫爬取目标网页的页面内容的任务,目标登录验证信息用于表示爬虫具有爬取页面内容的权限。
在本申请实施例中,登录验证信息又可以称为登录成功凭证,其中,携带登录成功凭证的网络爬虫才可以继续浏览目标网页,并爬取目标网页的页面内容,如果未携带登录成功凭证,那么就无法爬取目标网页,也即,上述目标登录验证信息用于表示爬虫具有爬取页面内容的权限。
爬虫在使用账号和对应的密码登录目标网页时,会将该账号和密码发送至服务器,以向服务器请求登录成功凭证;服务器在获取到该账号和密码之后,如果账号和密码为有效账号和有效密码,那么就会向爬虫发送登录成功凭证,进而,爬虫就可以携带该登录成功凭证执行爬取任务。
第一判断单元43,用于判断是否从爬取任务中查找到了目标登录验证信息。
在本申请实施例中,如果爬虫非首次登录目标网页,那么在爬取任务中就会有该目标登录验证信息;如果爬虫首次登录目标网页,那么在爬取任务中就不会存有该目标登录验证信息,此时,网络爬虫可以使用上述描述的账号和密码登录目标网页,以向服务器请求目标登录验证信息。
进一步地,通过背景技术中的描述可知,如果在运营商B范围内网络爬虫B获取到运营商A范围内的网络爬虫A执行之后的爬取任务,那么网络爬虫A所携带的登录成功凭证对运营商B无效。所以在本申请实施例中,为了防止上述问题的出现,设置了判断逻辑,即判断是否从爬取任务中查找到了目标登录验证信息。如果没有查找到该目标登录验证信息,就可以通过下述第二查找单元查找目标登录验证信息。
第二查找单元,用于在判断出没有从爬取任务中查找到目标登录验证信息的情况下,根据预配置文件查找目标登录验证信息,其中,预配置文件中包含多个网页的登录验证信息。
经过上述判断可知,如果在爬取任务中没有查找到目标登录验证信息,那么就可以从预配置文件中查找目标登录验证信息。
在本申请实施例中,技术研发人员可以预先对需要爬取的网页进行调研,然后,对需要爬取的网页的信息进行汇集,并将汇集之后的网页信息作为爬虫种子(也即,网页种子),其中,爬虫种子为爬虫执行爬取任务时的爬取入口;接下来,爬虫程序对需要登录的网页种子标记凭证(credential)信息。然后,编写相应的登录逻辑插件并集成到爬虫程序中,其中,在该登录逻辑插件中包含预配置文件,并且在该预配置文件中包含每个爬虫节点在遇到需要登录的指定网页时对该网站进行登录的方法,例如,网页的登录账号密码等信息。
如果爬虫程序在爬取任务中没有查找到目标登录验证信息,那么爬虫程序可以读取预配置文件中的登录账号密码等信息,然后,将查找到的登录账号密码等信息发送至服务器,以向服务器请求该目标登录验证信息。爬虫程序在获取到的该目标登录验证信息之后,就可以根据获取到的目标登录验证信息执行爬取任务。
爬取单元,用于根据查找到的目标登录验证信息爬取目标网页中的页面内容。
在本申请实施例中,在查找到目标登录验证信息之后,就可以根据查找到的目标登录验证信息对目标网页中的页面内容进行爬取。
在本申请实施例中,首先判断是否从爬取任务中查找到目标登录验证信息,如果没有查找到目标登录验证信息,则从预配置文件中查找目标登录验证信息,然后,根据查找到的目标登录验证信息爬取目标网页,相对于现有技术中网络爬虫执行爬取任务的方式,达到了成功执行爬取任务的目的,从而实现了即使查找到的目标登录验证失效也能够执行爬取任务的技术效果,进而解决了现有技术中爬虫在执行爬取任务时由于目标登录验证信息失效导致爬取任务失败的技术问题。
可选地,爬取单元包括:判断子单元,用于判断目标登录验证信息是否为有效验证信息,其中,有效验证信息能够指示爬虫成功爬取目标网页的页面内容;爬取子单元,用于在判断出目标登录验证信息是有效验证信息的情况下,爬取目标网页中的页面内容;查找子单元,用于在判断出目标登录验证信息不是有效验证信息的情况下,重新在预配置文件中查找目标登录验证信息,并判断重新获取到的目标登录验证信息是否为有效验证信息。
可选地,判断子单元包括:第一获取模块,用于获取目标网页返回的目标状态码;第一判断模块,用于判断目标状态码是否为预设状态码;第一确定模块,用于在判断出目标状态码为预设状态码的情况下,确定目标登录验证信息不是有效验证信息;提取验证模块,用于在判断出目标状态码不是预设状态码的情况下,提取目标网页的页面特征信息,并根据页面特征信息确定目标登录验证信息是否为有效验证信息。
可选地,提取验证模块包括:匹配子模块,用于将提取到的页面特征信息与失效验证信息进行匹配;第一确定子模块,用于在所述页面特征信息与所述失效验证信息未匹配成功的情况下,确定所述目标登录验证信息为所述有效验证信息;第一确定子模块,用于在所述页面特征信息与所述失效验证信息匹配成功的情况下,确定所述目标登录验证信息不是所述有效验证信息。
可选地,该装置还包括:第三查找单元,用于在确定所述目标登录验证信息不是所述有效验证信息之后,重新在所述预配置文件中查找所述目标登录验证信息,并判断重新获取到的所述目标登录验证信息是否为所述有效验证信息;第三判断单元,用于对连续判断出目标登录验证信息不是有效验证信息的累计次数进行计数,判断累计次数是否超过预设次数;控制单元,用于在判断出累计次数超过预设次数的情况下,控制爬虫停止执行爬取任务;第四判断单元,用于在判断出累计次数未超过预设次数的情况下,继续判断目标登录验证信息是否为有效验证信息。
可选地,该装置还包括:第二获取单元,用于在获取到的爬取任务中查找登录验证信息之前,获取爬取任务;第五判断单元,用于判断在执行爬取任务时是否需要登录信息,其中,登录信息用于登录目标网页;第三查找单元,用于在判断出需要登录信息的情况下,从爬取任务中查找目标登录验证信息。
可选地,该装置还包括:缓存单元,缓存单元,用于在根据预配置文件查找所述目标登录验证信息后,将查找到的所述目标登录验证信息在缓存空间中进行缓存,以便下次执行所述爬取任务时,通过缓存的目标登录验证信息进行任务爬取。
所述网页爬取装置包括处理器和存储器,上述第一查找单元、第一判断单元、第二查找单元和爬取单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来成功执行爬取任务,解决了现有技术中爬虫在执行爬取任务时由于目标登录验证信息失效导致爬取任务失败的技术问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:从爬取任务中查找目标登录验证信息,其中,所述爬取任务为网络爬虫爬取目标网页的页面内容的任务,所述目标登录验证信息用于表示所述爬虫具有爬取所述页面内容的权限;判断是否从所述爬取任务中查找到了所述目标登录验证信息;如果判断出没有从所述爬取任务中查找到所述目标登录验证信息,则根据预配置文件查找所述目标登录验证信息,其中,所述预配置文件中包含多个网页的登录验证信息;根据查找到的所述目标登录验证信息爬取所述目标网页中的页面内容。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (14)
1.一种网页爬取方法,其特征在于,包括:
从爬取任务中查找目标登录验证信息,其中,所述爬取任务为网络爬虫爬取目标网页的页面内容的任务,所述目标登录验证信息用于表示所述爬虫具有爬取所述页面内容的权限;
判断是否从所述爬取任务中查找到了所述目标登录验证信息;
如果判断出没有从所述爬取任务中查找到所述目标登录验证信息,则根据预配置文件查找所述目标登录验证信息,其中,所述预配置文件中包含多个网页的登录验证信息;
根据查找到的所述目标登录验证信息爬取所述目标网页中的页面内容。
2.根据权利要求1所述的方法,其特征在于,根据查找到的所述目标登录验证信息爬取所述目标网页中的页面内容包括:
判断所述目标登录验证信息是否为有效验证信息,其中,所述有效验证信息能够指示所述爬虫成功爬取所述目标网页的页面内容;
如果判断出所述目标登录验证信息是所述有效验证信息,则爬取所述目标网页中的页面内容;
如果判断出所述目标登录验证信息不是所述有效验证信息,则重新在所述预配置文件中查找所述目标登录验证信息,并判断重新获取到的所述目标登录验证信息是否为所述有效验证信息。
3.根据权利要求2所述的方法,其特征在于,判断所述目标登录验证信息是否为有效验证信息包括:
获取所述目标网页返回的目标状态码;
判断所述目标状态码是否为预设状态码;
如果判断出所述目标状态码为所述预设状态码,则确定所述目标登录验证信息不是所述有效验证信息;
如果判断出所述目标状态码不是所述预设状态码,则提取所述目标网页的页面特征信息,并根据所述页面特征信息确定所述目标登录验证信息是否为所述有效验证信息。
4.根据权利要求3所述的方法,其特征在于,根据所述页面特征信息确定所述目标登录验证信息是否为所述有效验证信息包括:
将提取到的所述页面特征信息与失效验证信息进行匹配;
如果所述页面特征信息与所述失效验证信息未匹配成功,则确定所述目标登录验证信息为所述有效验证信息;
如果所述页面特征信息与所述失效验证信息匹配成功,则确定所述目标登录验证信息不是所述有效验证信息。
5.根据权利要求2或4所述的方法,其特征在于,在确定所述目标登录验证信息不是所述有效验证信息之后,所述方法还包括:
重新在所述预配置文件中查找所述目标登录验证信息,并判断重新获取到的所述目标登录验证信息是否为所述有效验证信息;
对连续判断出所述目标登录验证信息不是所述有效验证信息的累计次数进行计数,判断所述累计次数是否超过预设次数;
如果判断出所述累计次数超过所述预设次数,则控制所述爬虫停止执行所述爬取任务;
如果判断出所述累计次数未超过所述预设次数,则继续判断所述目标登录验证信息是否为所述有效验证信息。
6.根据权利要求1所述的方法,其特征在于,在获取到的爬取任务中查找登录验证信息之前,所述方法还包括:
获取所述爬取任务;
判断在执行所述爬取任务时是否需要登录信息,其中,所述登录信息用于登录所述目标网页;
如果判断出需要所述登录信息,则从所述爬取任务中查找所述目标登录验证信息。
7.根据权利要求1所述的方法,其特征在于,在根据预配置文件查找到所述目标登录验证信息后,所述方法还包括:
将查找到的所述目标登录验证信息进行缓存,以便下次执行所述爬取任务时,通过缓存的目标登录验证信息进行任务爬取。
8.一种网页爬取装置,其特征在于,包括:
第一查找单元,用于从爬取任务中查找目标登录验证信息,其中,所述爬取任务为网络爬虫爬取目标网页的页面内容的任务,所述目标登录验证信息用于表示所述爬虫具有爬取所述页面内容的权限;
第一判断单元,用于判断是否从所述爬取任务中查找到了所述目标登录验证信息;
第二查找单元,用于在判断出没有从所述爬取任务中查找到所述目标登录验证信息的情况下,根据预配置文件查找所述目标登录验证信息,其中,所述预配置文件中包含多个网页的登录验证信息;
爬取单元,用于根据查找到的所述目标登录验证信息爬取所述目标网页中的页面内容。
9.根据权利要求8所述的装置,其特征在于,所述爬取单元包括:
判断子单元,用于判断所述目标登录验证信息是否为有效验证信息,其中,
所述有效验证信息能够指示所述爬虫成功爬取所述目标网页的页面内容;
爬取子单元,用于在判断出所述目标登录验证信息是所述有效验证信息的情况下,爬取所述目标网页中的页面内容;
查找子单元,用于在判断出所述目标登录验证信息不是所述有效验证信息的情况下,重新在所述预配置文件中查找所述目标登录验证信息,并判断重新获取到的所述目标登录验证信息是否为所述有效验证信息。
10.根据权利要求9所述的装置,其特征在于,所述判断子单元包括:
第一获取模块,用于获取所述目标网页返回的目标状态码;
第一判断模块,用于判断所述目标状态码是否为预设状态码;
第一确定模块,用于在判断出所述目标状态码为所述预设状态码的情况下,
确定所述目标登录验证信息不是所述有效验证信息;
提取验证模块,用于在判断出所述目标状态码不是所述预设状态码的情况下,提取所述目标网页的页面特征信息,并根据所述页面特征信息确定所述目标登录验证信息是否为所述有效验证信息。
11.根据权利要求10所述的装置,其特征在于,所述提取验证模块包括:
匹配子模块,用于将提取到的所述页面特征信息与失效验证信息进行匹配;
第一确定子模块,用于在所述页面特征信息与所述失效验证信息未匹配成功的情况下,确定所述目标登录验证信息为所述有效验证信息;
第二确定子模块,用于在所述页面特征信息与所述失效验证信息匹配成功的情况下,确定所述目标登录验证信息不是所述有效验证信息。
12.根据权利要求9或11所述的装置,其特征在于,所述装置还包括:
第三查找单元,用于在确定所述目标登录验证信息不是所述有效验证信息之后,重新在所述预配置文件中查找所述目标登录验证信息,并判断重新获取到的所述目标登录验证信息是否为所述有效验证信息;
第三判断单元,用于对连续判断出所述目标登录验证信息不是所述有效验证信息的累计次数进行计数,判断所述累计次数是否超过预设次数;
控制单元,用于在判断出所述累计次数超过所述预设次数的情况下,控制所述爬虫停止执行所述爬取任务;
第四判断单元,用于在判断出所述累计次数未超过所述预设次数的情况下,继续判断所述目标登录验证信息是否为所述有效验证信息。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于在获取到的爬取任务中查找登录验证信息之前,获取所述爬取任务;
第五判断单元,用于判断在执行所述爬取任务时是否需要登录信息,其中,所述登录信息用于登录所述目标网页;
第三查找单元,用于在判断出需要所述登录信息的情况下,从所述爬取任务中查找所述目标登录验证信息。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
缓存单元,用于在根据预配置文件查找所述目标登录验证信息后,将查找到的所述目标登录验证信息在缓存空间中进行缓存,以便下次执行所述爬取任务时,通过缓存的目标登录验证信息进行任务爬取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611042702.1A CN108090091A (zh) | 2016-11-23 | 2016-11-23 | 网页爬取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611042702.1A CN108090091A (zh) | 2016-11-23 | 2016-11-23 | 网页爬取方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108090091A true CN108090091A (zh) | 2018-05-29 |
Family
ID=62171019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611042702.1A Pending CN108090091A (zh) | 2016-11-23 | 2016-11-23 | 网页爬取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108090091A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984714A (zh) * | 2018-07-09 | 2018-12-11 | 北京三快在线科技有限公司 | 页面渲染方法、装置、电子设备及计算机可读介质 |
CN109740041A (zh) * | 2018-10-29 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 网页爬取方法、装置、存储介质和计算机设备 |
CN109829095A (zh) * | 2019-02-12 | 2019-05-31 | 苏州思必驰信息科技有限公司 | 网页信息的获取方法及系统 |
CN110138743A (zh) * | 2019-04-17 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 资源申请文件的获取方法、装置、计算机设备和存储介质 |
CN110138719A (zh) * | 2019-03-05 | 2019-08-16 | 北京车和家信息技术有限公司 | 一种网络安全的检测方法、装置及电子设备 |
CN110677423A (zh) * | 2019-09-30 | 2020-01-10 | 深圳前海环融联易信息科技服务有限公司 | 基于客户代理端的数据采集方法、装置、及计算机设备 |
CN110737645A (zh) * | 2019-10-15 | 2020-01-31 | 深圳金蝶账无忧网络科技有限公司 | 一种不同系统间数据迁移方法、数据迁移系统及相关设备 |
CN110968760A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 网页数据的爬取方法、装置、网页登录方法及装置 |
CN111460256A (zh) * | 2020-03-26 | 2020-07-28 | 深圳壹账通智能科技有限公司 | 网页数据的爬取方法、装置、计算机设备和存储介质 |
CN111859072A (zh) * | 2020-07-22 | 2020-10-30 | 广州兆和电力技术有限公司 | 一种面向内网的表单自动申报及成绩查询方法和系统 |
CN112989159A (zh) * | 2019-12-16 | 2021-06-18 | 浙江大搜车软件技术有限公司 | 数据获取方法、装置、计算机设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130246389A1 (en) * | 2010-10-12 | 2013-09-19 | Robert Osann, Jr. | User Preference Correlation for Web-Based Selection |
CN103514301A (zh) * | 2013-10-24 | 2014-01-15 | 深圳市同洲电子股份有限公司 | 分布式网络爬虫任务调度的方法及系统 |
CN104317938A (zh) * | 2014-10-31 | 2015-01-28 | 北京国双科技有限公司 | 网页链接有效性验证方法及装置 |
US20150324478A1 (en) * | 2012-06-18 | 2015-11-12 | Beijing Qihoo Technology Company Limited | Detection method and scanning engine of web pages |
CN105426415A (zh) * | 2015-10-30 | 2016-03-23 | Tcl集团股份有限公司 | 网站访问请求的管理方法、装置及系统 |
CN105956175A (zh) * | 2016-05-24 | 2016-09-21 | 考拉征信服务有限公司 | 网页内容爬取的方法和装置 |
CN106126747A (zh) * | 2016-07-14 | 2016-11-16 | 北京邮电大学 | 基于爬虫的数据获取方法及装置 |
-
2016
- 2016-11-23 CN CN201611042702.1A patent/CN108090091A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130246389A1 (en) * | 2010-10-12 | 2013-09-19 | Robert Osann, Jr. | User Preference Correlation for Web-Based Selection |
US20150324478A1 (en) * | 2012-06-18 | 2015-11-12 | Beijing Qihoo Technology Company Limited | Detection method and scanning engine of web pages |
CN103514301A (zh) * | 2013-10-24 | 2014-01-15 | 深圳市同洲电子股份有限公司 | 分布式网络爬虫任务调度的方法及系统 |
CN104317938A (zh) * | 2014-10-31 | 2015-01-28 | 北京国双科技有限公司 | 网页链接有效性验证方法及装置 |
CN105426415A (zh) * | 2015-10-30 | 2016-03-23 | Tcl集团股份有限公司 | 网站访问请求的管理方法、装置及系统 |
CN105956175A (zh) * | 2016-05-24 | 2016-09-21 | 考拉征信服务有限公司 | 网页内容爬取的方法和装置 |
CN106126747A (zh) * | 2016-07-14 | 2016-11-16 | 北京邮电大学 | 基于爬虫的数据获取方法及装置 |
Non-Patent Citations (1)
Title |
---|
雷滋和、陶宏才: "基于ICE的分布式爬虫设计与实现", 《成都信息工程学院学报》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984714B (zh) * | 2018-07-09 | 2020-11-27 | 北京三快在线科技有限公司 | 页面渲染方法、装置、电子设备及计算机可读介质 |
CN108984714A (zh) * | 2018-07-09 | 2018-12-11 | 北京三快在线科技有限公司 | 页面渲染方法、装置、电子设备及计算机可读介质 |
CN110968760A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 网页数据的爬取方法、装置、网页登录方法及装置 |
CN109740041A (zh) * | 2018-10-29 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 网页爬取方法、装置、存储介质和计算机设备 |
CN109740041B (zh) * | 2018-10-29 | 2023-06-09 | 深圳壹账通智能科技有限公司 | 网页爬取方法、装置、存储介质和计算机设备 |
CN109829095A (zh) * | 2019-02-12 | 2019-05-31 | 苏州思必驰信息科技有限公司 | 网页信息的获取方法及系统 |
CN110138719A (zh) * | 2019-03-05 | 2019-08-16 | 北京车和家信息技术有限公司 | 一种网络安全的检测方法、装置及电子设备 |
CN110138719B (zh) * | 2019-03-05 | 2022-05-27 | 北京车和家信息技术有限公司 | 一种网络安全的检测方法、装置及电子设备 |
CN110138743A (zh) * | 2019-04-17 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 资源申请文件的获取方法、装置、计算机设备和存储介质 |
CN110677423A (zh) * | 2019-09-30 | 2020-01-10 | 深圳前海环融联易信息科技服务有限公司 | 基于客户代理端的数据采集方法、装置、及计算机设备 |
CN110737645A (zh) * | 2019-10-15 | 2020-01-31 | 深圳金蝶账无忧网络科技有限公司 | 一种不同系统间数据迁移方法、数据迁移系统及相关设备 |
CN110737645B (zh) * | 2019-10-15 | 2022-09-27 | 深圳金蝶账无忧网络科技有限公司 | 一种不同系统间数据迁移方法、数据迁移系统及相关设备 |
CN112989159A (zh) * | 2019-12-16 | 2021-06-18 | 浙江大搜车软件技术有限公司 | 数据获取方法、装置、计算机设备和存储介质 |
CN111460256A (zh) * | 2020-03-26 | 2020-07-28 | 深圳壹账通智能科技有限公司 | 网页数据的爬取方法、装置、计算机设备和存储介质 |
CN111859072A (zh) * | 2020-07-22 | 2020-10-30 | 广州兆和电力技术有限公司 | 一种面向内网的表单自动申报及成绩查询方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108090091A (zh) | 网页爬取方法和装置 | |
CN104519018B (zh) | 一种防止针对服务器的恶意请求的方法、装置和系统 | |
CN103607385B (zh) | 基于浏览器进行安全检测的方法和装置 | |
DE112010003454B4 (de) | Bedrohungserkennung in einem Datenverarbeitungssystem | |
CN106897357A (zh) | 一种用于带验证分布式智能爬取网络信息的方法 | |
CN104994104B (zh) | 基于web安全网关的服务器指纹拟态和敏感信息拟态方法 | |
CN107528856A (zh) | 基于区块链的物联网雾端设备在云端平台接入认证方法 | |
CN108171519A (zh) | 业务数据的处理、账户识别方法及装置、计算机终端 | |
CN104158818B (zh) | 一种单点登录方法及系统 | |
CN109818949A (zh) | 一种基于神经网络的反爬虫方法 | |
CN106453216A (zh) | 恶意网站拦截方法、装置及客户端 | |
CN107196951A (zh) | 一种hdfs系统防火墙的实现方法和防火墙系统 | |
CN109729044B (zh) | 一种通用的互联网数据采集反反爬系统及方法 | |
CN107104924A (zh) | 网站后门文件的验证方法及装置 | |
CN110113366A (zh) | 一种csrf漏洞的检测方法及装置 | |
CN102724079A (zh) | 一种以太网设备辅助配置的方法及系统 | |
CN107124426A (zh) | 一种用户权益的鉴权方法及装置 | |
CN107948052A (zh) | 信息爬取方法、装置、电子设备和系统 | |
CN108874802A (zh) | 网页检测方法和装置 | |
CN104462242B (zh) | 网页回流量统计方法及装置 | |
EP3550789A1 (en) | Method for protecting web applications by automatically generating application models | |
CN107948979A (zh) | 信息处理方法、装置及审计设备 | |
CN112989158A (zh) | 一种识别网页爬虫行为的方法、装置及存储介质 | |
CN108132948A (zh) | 处理爬取网页的方法和装置 | |
CN108476199A (zh) | 一种基于令牌机制的检测和防御cc 攻击的系统和方法 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180529 |