CN110968753B - 网页数据爬取方法及装置 - Google Patents
网页数据爬取方法及装置 Download PDFInfo
- Publication number
- CN110968753B CN110968753B CN201811141618.4A CN201811141618A CN110968753B CN 110968753 B CN110968753 B CN 110968753B CN 201811141618 A CN201811141618 A CN 201811141618A CN 110968753 B CN110968753 B CN 110968753B
- Authority
- CN
- China
- Prior art keywords
- domain name
- identity
- data
- information
- name information
- 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.)
- Active
Links
- 230000009193 crawling Effects 0.000 title claims abstract description 114
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000004044 response Effects 0.000 claims description 72
- 238000012544 monitoring process Methods 0.000 claims description 42
- 238000010276 construction Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 16
- 235000014510 cooky Nutrition 0.000 description 67
- 230000006870 function Effects 0.000 description 14
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 7
- 230000006399 behavior Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000239290 Araneae Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网页数据爬取方法及装置,涉及网络技术领域,主要目的在于实现对设置有身份验证的网站进行网页数据爬取的功能而发明。本发明的方法包括:确定待爬取网页的目标域名信息;从域名身份数据中,获取对应所述目标域名信息的身份凭证,所述域名身份数据中包含域名信息及每一个域名信息对应的身份凭证;根据所述身份凭证对目标域名信息对应的网页进行数据爬取。本发明适用于对通过爬虫对网站中的数据进行爬取。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种网页数据爬取方法及装置。
背景技术
随着网名的逐步增多,网络中不同网站的访问量也逐步增多。通常,为了更为全面的获取到网站中数据,很多用户都喜欢通过网络爬虫来对网站中的数据进行爬取。其中,爬虫,通常被称为网络爬虫、网页蜘蛛或网络机器人。它是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
目前,在对网站中的数据进行爬取时,一般情况下爬虫是基于模仿用户的访问行为对网站中的页面按照一定次序进行数据的爬取。然而,在实际应用中,网络中的很多网站都设置有身份验证功能,当网站接收到访问请求时,会对访问者的身份进行验证,从而过滤掉无法通过验证的访问请求,由于爬虫仅仅是模拟用户的访问行为,并未具备身份凭证,因此,现有的爬虫在对此类具备身份验证的网站进行数据爬取时,由于未具备有身份凭证而无法通过身份验证,从而导致对该网站中数据的爬取失败。因此,如何实现对设置有身份验证的网站进行数据的爬取,成为了领域内亟待解决的问题。
发明内容
鉴于上述问题,本发明提供一种网页数据爬取方法及装置,主要目的在于实现对设置有身份验证的网站进行网页数据爬取的功能。
为解决上述技术问题,第一方面,本发明提供了一种网页数据爬取方法,该方法包括:
确定待爬取网页的目标域名信息;
从域名身份数据中,获取对应所述目标域名信息的身份凭证,所述域名身份数据中包含域名信息及每一个域名信息对应的身份凭证;
根据所述身份凭证对目标域名信息对应的网页进行数据爬取。
可选的,在所述从域名身份数据中,获取对应所述目标域名信息的身份凭证之前,所述方法还包括:
注册网络监控接口程序;
当检测到目标浏览器中执行访问操作时,通过所述网络监控接口程序获取第一访问数据,所述第一访问数据中包括所述身份凭证及域名信息,所述身份凭证包括身份标识及身份参数;
根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储。
可选的,在所述根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储之前,所述方法还包括:
确定所述域名身份数据中是否存在所述域名信息及所述身份标识;
所述根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储,包括:
若确定所述域名身份数据中不存在所述域名信息及所述身份标识,则根据所述身份凭证中的身份标识、身份参数及域名信息构建所述域名身份数据,并将所述域名身份数据进行存储;
若确定所述域名身份数据中存在所述域名信息及所述身份标识,则根据所述身份参数更新所述域名身份数据,并将所述域名身份数据进行存储。
可选的,所述当检测到目标浏览器中执行访问操作时,通过所述网络监控接口程序获取第一访问数据包括:
当检测到目标浏览器中发出请求信息时,通过所述网络监控接口程序获取所述请求信息,并从所述请求信息中获取对应所述请求信息的第一访问数据;和/或,
当检测到目标浏览器中接收响应信息时,通过所述网络监控接口程序获取所述响应信息,并从所述响应信息中获取对应所述响应信息的第一访问数据;和/或,
当检测到目标浏览器完成访问操作后,通过所述网络监控接口程序从浏览器预设位置中获取对应所述访问操作的第一访问数据。
可选的,所述方法还包括:
在爬取所述目标域名信息对应的网页时,获取第二访问数据,所述第二访问数据是爬取所述目标域名信息对应的网页时的访问数据,所述第二访问数据中包括所述目标域名信息及身份凭证;
根据所述第二访问数据,确定所述域名身份数据中是否存在所述目标域名信息及所述身份凭证中的身份标识;
若是,则根据所述第二访问数据更新所述域名身份数据;
若否,则根据所述第二访问数据中的身份凭证及目标域名信息添加至所述域名身份数据中。
可选的,所述在爬取所述目标域名信息对应的网页时,获取第二访问数据包括:
当向目标域名信息对应的网页发出请求信息时,获取发出的请求信息,并从所述发出的请求信息中获取第二访问数据;和/或,
当从所述目标域名信息对应的网页接收响应信息时,获取接收的响应信息,并从所述接收的响应信息中获取第二访问数据;和/或,
当完成所述目标域名信息对应的网页的数据爬取时,从预置位置中获取对应所述数据爬取的第二访问数据。
第二方面,本发明还提供了一种网页数据爬取装置,该装置包括:
第一确定单元,用于确定待爬取网页的目标域名信息;
第一获取单元,用于从域名身份数据中,获取对应所述目标域名信息的身份凭证,所述域名身份数据中包含域名信息及每一个域名信息对应的身份凭证;
爬取单元,用于根据所述身份凭证对目标域名信息对应的网页进行数据爬取。
可选的,所述装置还包括:
注册单元,用于注册网络监控接口程序;
第二获取单元,用于检测到目标浏览器中执行访问操作时,通过所述网络监控接口程序获取第一访问数据,所述第一访问数据中包括所述身份凭证及域名信息,所述身份凭证包括身份标识及身份参数;
生成单元,用于根据所述身份凭证及域名信息生成域名身份数据,,并将所述域名身份数据进行存储。
可选的,所述装置还包括:
第二确定单元,用于确定所述域名身份数据中是否存在所述域名信息及所述身份标识;
所述生成单元,包括:
构建模块,用于若确定所述域名身份数据中不存在所述域名信息及所述身份标识,则根据所述身份凭证中的身份标识、身份参数及域名信息构建所述域名身份数据,并将所述域名身份数据进行存储;
更新模块,用于若确定所述域名身份数据中存在所述域名信息及所述身份标识,则根据所述身份参数更新所述域名身份数据,并将所述域名身份数据进行存储。
可选的,所述第二获取单元包括:
第一获取模块,用于当用户在目标浏览器中发出请求信息时,通过所述网络监控接口程序获取所述请求信息,并从所述请求信息中获取对应所述请求信息的第一访问数据;
第二获取模块,用于当用户在目标浏览器中接收响应信息时,通过所述网络监控接口程序获取所述响应信息,并从所述响应信息中获取对应所述响应信息的第一访问数据;
第三获取模块,用于当用户在目标浏览器完成访问操作后,通过所述网络监控接口程序从浏览器预设位置中获取对应所述访问操作的第一访问数据。
可选的,所述装置还包括:
第三获取单元,用于在爬取所述目标域名信息对应的网页时,获取第二访问数据,所述第二访问数据是爬取所述目标域名信息对应的网页时的访问数据,所述第二访问数据中包括所述目标域名信息及身份凭证;
第三确定单元,用于根据所述第二访问数据,确定所述域名身份数据中是否存在所述目标域名信息及所述身份凭证中的身份标识;
更新单元,用于若确定所述域名身份数据中存在所述目标域名信息及所述身份凭证中的身份标识,则根据所述第二访问数据更新所述域名身份数据;
添加单元,用于若确定所述域名身份数据中未存在所述目标域名信息及所述身份凭证中的身份标识,则根据所述第二访问数据中的身份凭证及目标域名信息添加至所述域名身份数据中。
可选的,所述第三获取单元包括:
第一获取模块,用于当向目标域名信息对应的网页发出请求信息时,获取发出的请求信息,并从所述发出的请求信息中获取第二访问数据;
第二获取模块,用于当从所述目标域名信息对应的网页接收响应信息时,获取接收的响应信息,并从所述接收的响应信息中获取第二访问数据;
第三获取模块,用于当完成所述目标域名信息对应的网页的数据爬取时,从预置位置中获取对应所述数据爬取的第二访问数据。
为了实现上述目的,根据本发明的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的网页数据爬取方法。
为了实现上述目的,根据本发明的第四方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的网页数据爬取方法。
借由上述技术方案,本发明提供的网页数据爬取方法及装置,对于现有技术在对设置有身份验证的网站进行数据爬取时,存在数据爬取失败的问题,本发明通过确定待爬取网页的目标域名信息,然后从域名身份数据中,获取对应所述目标域名信息的身份凭证,最后通过所述身份凭证对目标域名信息对应的网页进行数据爬取,从而能够根据身份凭证通过目标域名信息对应的网站的身份验证,实现对此类网站中数据的爬取功能。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种网页数据爬取方法流程图;
图2示出了本发明实施例提供的另一种网页数据爬取方法流程图;
图3示出了本发明实施例提供的一种网页数据爬取装置的组成框图;
图4示出了本发明实施例提供的另一种网页数据爬取装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了实现对设置有身份验证的网站进行数据爬取的功能,本发明实施例提供了一种网页数据爬取方法,如图1所示,该方法包括:
101、确定待爬取网页的目标域名信息。
通常情况下,当用户访问设置有身份验证的网站时,网站在接收到用户发送的请求信息后,会根据请求信息中的报文头文件来验证该用户的身份,当确定该用户的身份凭证符合该网站设置的身份认证后,则接受该请求并反馈具体的网页内容,而若确定用户报文头文件中没有身份凭证时,则后向用户反馈设置身份凭证,以便用户根据该身份凭证进行访问。
由于现有的爬虫并不具备身份凭证,因此,为了实现对此类网站中网页内容的爬取,在本发明实施例中,当使用爬虫进行网站内的网页内容进行爬取时,首先需要确定所需爬取的网页的域名,即所述目标域名信息。具体的,在本步骤中,该目标域名信息可以从待爬取的网页所对应的URL中进行获取和确定。
其中URL(Uniform Resource Locator,统一资源定位符,缩写为URL)是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。而域名(Domain Name,网络域名)简称域名或网域,是由一串用点分隔的名字组成的因特网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位,属于URL中的一部分。例如,当确定待爬取网页的URL为“http://mail.163.com/index.html”时,则可以通过该URL确定待爬取网页所对应的目标域名为“163.com”。
102、从域名身份数据中,获取对应所述目标域名信息的身份凭证。
为了解决爬虫不具备身份凭证而使得爬取网站中网页内容失败的问题,在本发明实施例中,需要为爬虫分配能够访问该网站的身份,从而使得爬虫在模拟用户访问该网站时,能够通过网站的身份验证。而由于不同网站在为访问者提供的访问身份是不同的,因此,在本发明实施例中当确定所需爬取网页的目标域名信息后,需要从域名身份数据中获取对应该目标域名信息的身份凭证。其中,该域名身份数据可以是通过设置监控代码在用户访问不同的域名对应的网站时从第一访问数据中获取的,且该域名身份数据中存储有多个域名信息,及每个域名信息所对应的身份凭证。具体的,可以根据目标域名信息在域名身份数据中查找相同的域名,然后再确定该域名所对应的身份凭证。
需要说明的是,由于在域名身份数据中可能存在一个域名信息对应有多个身份凭证,而网站中通常的设定是任意一身份凭证只能保持在一个设备或浏览器登录,因此,当任意一身份凭证被使用时,可以设置锁定功能,将该身份凭证进行锁定,从而避免后续其他爬虫使用该身份凭证而使得其他爬虫被网站限制访问或终端访问的情况。
103、根据所述身份凭证对目标域名信息对应的网页进行数据爬取。
当前述步骤102中获取到目标域名信息对应的身份凭证时,由于域名身份数据中每一个域名信息所对应的身份凭证都是用户实际操作浏览器访问网站时网站所提供的真实的访问身份。因此,爬虫可以根据该身份凭证通过目标域名信息对应的网站的身份验证,从而实现访问并爬取网页中的数据。对此,对于爬虫爬取网页的方式并不做具体的限定,可根据实际情况选取,另外,对于本步骤中根据身份凭证使得爬虫通过身份验证的方式也可以根据网站实际的验证方式来进行,例如,当网站是根据用户cookie数据来进行身份确认时,则本步骤中所述身份凭证则可以为cookie信息,而通过身份凭证对目标域名信息对应的网页进行数据爬取则可以具体为将cookie信息添加到访问请求报文头文件中,当爬虫要爬取目标域名信息对应的网页时,可以通过添加了cookie的请求信息发送至目标域名对应的网站,当网站接受到该请求后,由于该cookie信息是真实的用户访问时的身份凭证,因此,爬虫的请求会被该网站通过,继而允许该爬虫与网页进行访问,继而爬虫则可以在访问请求通过后对该目标域名信息对应的网页进行数据的数据爬取。当然,在本发明实施例中,对于如何通过所述身份凭证对目标域名信息对应的网页进行数据爬取的方式,包括但不限于上述所述的方法,还可以根据网站实际的身份验证方式选择对应的执行方式,在此并不做具体的限定,可根据实际情况进行。
本发明实施例提供的网页数据爬取方法,对于现有技术在对设置有身份验证的网站进行数据爬取时,存在数据爬取失败的问题,本发明通过确定待爬取网页的目标域名信息,然后从域名身份数据中,获取对应所述目标域名信息的身份凭证,最后通过所述身份凭证对目标域名信息对应的网页进行数据爬取,从而能够根据身份凭证通过目标域名信息对应的网站的身份验证,实现对此类网站中数据的爬取功能。
进一步的,作为对图1所示实施例的细化及扩展,本发明实施例还提供了另一种网页数据爬取方法,如图2所示,其具体步骤包括:
201、确定待爬取网页的目标域名信息。
在本发明实施例中,所述目标域名信息以及确定方式均与前述实施例汇总步骤101中的描述一致,在此不再赘述。另外,在本发明实施例中,所述身份凭证可以具体为用户在访问网站中的页面时,网站所提供的并记录在用户浏览器中的cookie信息。
202、检测到目标浏览器中执行访问操作时,通过网络监控接口程序获取第一访问数据。
其中,所述第一访问数据中包括所述身份凭证及域名信息,所述身份凭证包括身份标识及身份参数。
在本发明实施例中,所述目标浏览器可以为Chrome浏览器,其中,Chrome浏览器全称为Google Chrome,是一款由谷歌公司开发的网页浏览器,该浏览器基于其他开源软件撰写,包括WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面,由于该浏览器是一种面向用户的开源浏览器,因此较其他浏览器相比,用户能够根据需要调用浏览器中最底层的服务和程序。
进一步的,在进行本步骤所述的方法之前,还可以通过注册网络监控接口程序来对浏览器中的访问数据进行检测和获取,例如,可以在Chrome浏览器中先注册webRquest接口,该接口为一种监控用户浏览器操作行为的接口服务程序。当目标浏览器为Chrome浏览器时,在进行本步骤所述的方法对用户的第一访问数据进行获取时,可以首先在从Chrome浏览器中调用的webRquest接口来注册网络监控器,并在用户在该浏览器中的目标页面中进行访问操作时的访问请求信息或响应信息进行监控。
在本发明实施例中,当监控到用户在Chrome浏览器中进行访问操作时,网络监控器会对当前用户的操作时的操作数据进行获取,即本繁忙实施例所述的第一访问数据,基于第一访问数据中包含大量不同的信息和内容,为了节约资源减少监控负担,在本发明实施例中对于所获取的第一访问数据,具体可以为所述第一访问数据中的身份凭证及域名信息,其中所述身份凭证包括身份标识及身份参数。基于本发明实施例所述的方法中的身份凭证为cookie的前提下,本步骤中所获取的第一访问数据则具体可以为用户访问不同网站时的每一个cookie信息及其对应的域名信息,而身份标识则可以为cookie名称,身份参数则具体为cookie值。
需要说明的是,在本发明实施例中,对于第一访问数据中包含的cookie信息及域名信息的数量并不做具体的限定,以用户实时的访问情况确定。另外,基于不同网站对于用户访问时所分配的cookie值可能是固定的,也可能是随着访问时间和次数进行改变,因此,在本发明实施例中对于每次用户访问同一网站时,其身份参数是否发生改变则并不做具体的限定,可根据实际情况确定。
此外,基于用户访问网站时的次数不同、以及网站的身份验证方式存在区别,在本发明实施例中,对于获取第一访问数据的方式也可以根据以下方式来进行,其中包括:
当用户在目标浏览器中发出请求信息时,获取所述请求信息,并从所述请求信息中获取对应所述请求信息的第一访问数据。
例如,当用户并非首次访问某一网站时,则在其访问信息中包含cookie信息,具体的该cookie信息可以从用于访问时发送的请求信息中的报文头文件中进行获取。
当用户在目标浏览器中接收响应信息时,获取所述响应信息,并从所述响应信息中获取对应所述响应信息的第一访问数据。
例如,当用户是首次对某一网站进行访问时,则网站在接收到该请求信息后,会反馈响应信息,并在响应信息添加set-cookie信息,以便用户的浏览器在接收到该响应信息后根据该set-cookie信息设置cookie信息,并以此进行访问操作。因此,根据本步骤所述的方法,可以从响应信息中的set-cookie信息中获取身份凭证,即cookie信息。
当用户在目标浏览器完成访问操作后,从浏览器预设位置中获取对应所述访问操作的第一访问数据。
例如,当用户完成对某网站的一次访问操作时,为了便于后续的数据统计和下一次的访问,浏览器会将该访问该网站的cookie信息保存在浏览器中预设的位置进行保存,通常情况下会保存在document.cookie文件中,因此,在本步骤中,当监控器监测到用户完整了当前的访问操作后,则可以按照本步骤所述的方法从预设位置,即document.cookie文件的位置进行身份新,即cookie信息的获取。
需要说明的是,在本发明实施例中,对于上述三种用户的第一访问数据的获取方式可以选择其中任意一种方式来进行,当然,为了确保所获取的身份凭证的准确性,在本发明实施例中还可以选取任意几个或全部的获取方式进行组合,例如,可以选择从请求信息中获取第一访问数据及从响应信息中获取第一访问数据。在此并不做具体的限定,可根据实际情况选取。
由此,当用户在目标浏览器中发出请求信息时,通过获取所述请求信息,并从所述请求信息中获取对应所述请求信息的第一访问数据,能够确保在用户发送访问请求的阶段实现在用户的请求信息中的身份凭证的获取,从而确保身份凭证的准确性,从而为后续爬虫爬取数据时,能够通过身份认证,确保了爬取功能的实现。进一步的,当用户在目标浏览器中接收响应信息时,通过获取所述响应信息,并从所述响应信息中获取对应所述响应信息的第一访问数据,能够确保在用户接收响应信息的阶段实现在响应信息中的身份凭证的获取,从而确保身份凭证的准确性,继而为后续爬虫爬取数据提供支持。又进一步的,当用户在目标浏览器完成访问操作后,通过从浏览器预设位置中获取对应所述访问操作的第一访问数据,能够在用户完成一次访问后实现从浏览器中的预设位置的文件中实现身份凭证的获取,并且,由于浏览器预设位置中保存的文件中的身份数据更为全面,因此可以确保所获取的身份凭证全面性,进而为后续爬虫爬取网站数据时,提供更为全面的身份凭证。
203、根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储。
当前述步骤202中获取到用户访问时的真实的身份凭证后,即真实的cookie信息后,则在本步骤中可以通过前述步骤中所获取到的身份标识、身份参数以及对应的域名信息来生成对应的域名身份数据。
具体的,在本发明实施例中,当获取到用户每次访问后的cookie名称、cookie值以及该次访问的域名信息时,则可以为此次访问生成一条对应的JSON数据,其中包含cookie名称、cookie值以及域名信息。
其中,JSON(JavaScript Object Notation,对象简谱,简称JS)是一种轻量级的数据交换格式。它基于欧洲计算机协会制定的js规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。由于具有简洁和清晰的层次结构,使得JSON成为理想的数据交换语言。因此,易于人阅读和编写,同时也易于机器解析和生成,并能够有效地提升网络传输效率。
另外,由于在前述步骤中为了所获取到的身份凭证的准确性和实时性,基于前述获取身份凭证的多种方式,在本步骤中在为每一次用户访问生成一条对应的域名身份数据,即JSON数据之前,还可以首先确定所述域名身份数据中是否存在所述域名信息及所述身份标识,即在JSON数据中确定是否存在相同的cookie名称及域名信息。
因此,判断结果存在两种情况:
其一、在JSON数据中并未发现任意条与当前所需要生成JSON数据的相同的cookie名称及域名信息的数据,即确定所述域名身份数据中不存在所述域名信息及所述身份标识;
其二、在JSON数据中发现了与当前所需生成JSON数据相同的cookie名称、域名信息均相同,但cookie值不同,即确定所述域名身份数据中存在所述域名信息及所述身份标识。
由此根据上述两种情况,本步骤根据所述身份凭证及域名信息生成域名身份数据具体可以为:若确定所述域名身份数据中不存在所述域名信息及所述身份标识,则根据所述身份凭证中的身份标识、身份参数及域名信息构建所述域名身份数据,并将所述域名身份数据进行存储。
例如:当在JSON数据中并未发现当前cookie名称及域名信息相同的JSON数据时,则说明当前cookie信息需要生成一条对应的JSON数据,因此,可以依照本步骤所述的方法,从cookie信息中提取cookie名称、cookie值以当次访问对应的域名信息。并根据这三个信息生成对应的一条JSON数据。
若确定所述域名身份数据中存在所述域名信息及所述身份标识,则根据所述身份参数更新所述域名身份数据,并将所述域名身份数据进行存储。
例如,当在JSON数据中发现了与当前cookie名称及域名信息相同的JSON数据时,二者仅cookie值不同,则说明用户之前已访问过该域名信息对应对应网站,而该网站在为用户访问时提供身份时还会根据访问次数或时间的不同为其分配不同的cookie值以提高安全性,对此,为了后续爬虫爬取时能够通过这种cookie值改变的验证,在本步骤中,则需要根据新的cookie值来替换掉之前记录的cookie值,即按照本步骤所述的方法,根据身份参数更新已有的域名身份数据。
另外,在本发明实施例中,当生成了域名身份数据后,还可以将所生成的域名身份数据上传至服务器中,以便后续爬虫进行网站数据爬取时,能够直接从服务器中获取该域名身份数据,具体的,对于上传方式及保存位置在此并不做具体的限定,可根据实际情况按需选取。
由此,通过确定所述域名身份数据中是否存在所述域名信息及所述身份标识,并当确定存在所述域名信息及所述身份标识时,根据所述身份参数更新所述域名身份数据,能够确保所记载的身份凭证的准确性和实时性的同时还能确保生成多余的域名身份数据,节约系统资源。另外,在确定不存在时,根据所述身份凭证中的身份标识、身份参数及域名信息构建所述域名身份数据,能够确保用户每一次访问不同的网站时,都能生成对应的域名身份数据,为后续爬虫数据爬取提供支持。
204、从域名身份数据中,获取对应所述目标域名信息的身份凭证。
其中,所述域名身份数据中包含域名信息及每一个域名信息对应的身份凭证。
当前述步骤中得到包含cookie名称、cookie值以及域名信息的JSON数据后,即域名身份数据。在本步骤中,则可以根据前述步骤201中所确定的目标域名信息,在上述域名身份数据中获取对应该目标域名信息的身份凭证。具体的,可以为在JSON数据中查询对应目标域名信息,当查询到该目标域名信息后,则获取对应的身份凭证,其中包括身份标识及身份参数。
例如,当目标域名信息为“163.com”时,则在域名身份数据中进行查询该域名所对应的JSON数据,而若存在某一条JSON数据包括:cookie名称为“Turing”,cookie值为“0010”,域名信息为“163.com”时,则可以获取该条JSON数据中的身份凭证:cookie名称“Turing”及cookie值“0010”。
另外,需要说明的是,当确定目标域名信息对应有多个不同的身份凭证时,则可以根据实际情况选择任意一个进行获取,具体的,可以随机选取,还可以根据系统预设的获取规则进行获取,在此不做限定,可按实际需要选择。
205、通过所述身份凭证对目标域名信息对应的网页进行数据爬取。
当前述步骤204已经获取到身份凭证后,则可以根据该身份凭证对目标域名对应网页进行爬取,具体的,可以通过该身份凭证向目标域名信息对应的网站发出请求,以便通过身份认证,从而确保爬虫的访问行为能够被网站所允许。
例如,当获取到cookie名称及cookie值后,则可以将cookie名称及cookie值添加到请求信息中作为爬虫的cookie信息,并将该cookie添加到报文头文件中,然后发送该请求信息至网站。当网站接收到该请求信息后,由于该请求信息中的报文头文件中包含有cookie名称及cookie值,而这些信息均为用户实际操作时网站所分配的,因此能够通过网站的身份验证,从而能够得到网站反馈的响应信息,爬虫便可在网站允许访问之后,对该网站中的目标域名信息对应的网页中的数据进行爬取。
206、在爬取所述目标域名信息对应的网页时,获取第二访问数据。
在本发明实施例中,由于爬虫在爬取网页中的数据时,是模仿用户的访问行为进行的,因此,网站在对该爬虫进行身份验证时,也会存在对身份凭证进行进一步的更新的过程,因此,为了使得后续再次爬取该网站数据时身份凭证的准确性和实时性,在前述步骤205对网站进行数据爬取时,还可以根据本步骤所述的方法继续对身份凭证进行获取,具体的,可根据本步骤所述的方法,在爬虫爬取网页时,获取爬虫访问时的数据,即爬取第二访问数据,其中,所述第二访问数据是爬取所述目标域名信息对应的网页时的访问数据,在该第二访问数据中包括所述目标域名信息及身份凭证。
进一步的,由于爬虫在数据爬取时是模拟用户操作进行的,因此,获取第二访问数据的具体方式可按照以上方式进行:
第一方面,当爬虫向目标域名信息对应的网页发出请求信息时,获取爬虫发出的请求信息,并从所述爬虫发出的请求信息中获取第二访问数据,具体的,可以从爬虫发送的请求信息中的报文头文件中获取cookie信息。
第二方面,当爬虫从所述目标域名信息对应的网页接收响应信息时,获取爬虫接收的响应信息,并从所述爬虫接收的响应信息中获取第二访问数据。具体的,可以从响应信息中的set-cookie中获取第一访问数据中的cookie信息.
第三方面,当爬虫完成所述目标域名信息对应的网页的数据爬取时,从预置位置中获取对应所述数据爬取的第二访问数据。其中,该预置位置可以为爬虫所在的浏览器中的document.cookie文件中。
需要说明的是,在上述三个方面所述的方法中,可以选取任一方式来进行,并且,为了进一步避免身份凭证的遗漏,还可以将上述三种方式选取任一几种或全部方式进行结合执行,以确保所获取的身份凭证的准确性。例如,可以选取从响应信息中获取第二访问数据,并当爬虫完整数据爬取时从预置位置再次进行第二访问数据的获取。
由此,通过上述分别从请求信息、响应信息以及预置位置中获取第二访问数据,能够确保及时和准确的获取到爬虫访问网站时的身份凭证,继而为后续根据该身份凭证生成或更新域名身份数据奠定基础。
207、根据所述第二访问数据,确定所述域名身份数据中是否存在所述目标域名信息及所述身份凭证中的身份标识。
基于前述步骤206可进行多种不同方式的第二访问数据的获取,因此,在本步骤中需要对域名身份数据中进行查询,并判断当前域名身份数据中是否已经保存有对应身份凭证的身份标识及目标域名的数据。基于判断结果存在两种情况,即确定所述域名身份数据中存在所述目标域名信息及所述身份凭证中的身份标识,以及确定所述域名身份数据中并未存在所述目标域名信息及所述身份凭证中的身份标识,因此,当确定存在时,则执行步骤208;反之,则执行步骤209。
208、若是,则根据所述第二访问数据更新所述域名身份数据。
当确定所述域名身份数据中存在所述目标域名信息及所述身份凭证中的身份标识,则说明在域名身份数据中已经保存有该身份标识及对应的目标域名信息的域名身份数据,仅身份参数是不同的,因此,需要将爬虫所得到的参数数据对已保存该条域名身份数据进行更新。
例如,当第二访问数据为cookie名称AC,cookie值4520,目标域名信息163.com时,若确定JSON数据中存在cookie名称AC,cookie值1025,目标域名信息163.com,则可以确定该JSON数据中存在与第二访问数据中相同域名和身份标识的数据,说明在爬虫爬取之前,曾有用户或其他爬虫进行过该网站的访问,并记录了域名身份数据,因此,为了后续再次爬取该网站时的身份凭证的准确性和实时性,在本步骤中需要根据第二访问数据中的身份参数来更新域名身份数据,即用cookie值4520替换cookie值1025,以实现更新。
209、若否,则根据所述第二访问数据中的身份凭证及目标域名信息添加至所述域名身份数据中。
当在域名身份数据中确定不存在第二访问数据中的身份凭证及目标域名信息,则说明域名身份数据中存在缺失,需要对缺失的数据进行补充,即根据第二访问数据中的目标域名信息及身份凭证添加至域名身份数据中,具体的,当身份凭证为cookie信息时,则本步骤具体的可以为将第二访问数据中的cookie名称、cookie值以及目标域名信息生成对应的一条JSON数据并保存。
由此,通过在爬取所述目标域名信息对应的网页时,获取第二访问数据,然后根据所述第二访问数据,确定所述域名身份数据中是否存在所述目标域名信息及所述身份凭证中的身份标识,并确定存在时根据所述第二访问数据更新所述域名身份数据,反之则根据所述第二访问数据中的身份凭证及目标域名信息添加至所述域名身份数据中,从而能够确保当使用爬虫对网页数据进行爬取时,还能够对身份凭证进行一步的更新,并当爬取后确定身份凭证存在缺失时能够对缺失的身份凭证进行补充,继而为后续再次进行网页爬取时,确定了身份凭证的准确性,为后续再次爬取时的成功奠定基础。
进一步的,作为对上述图1所示方法的实现,本发明实施例还提供了一种网页数据爬取装置,用于对上述图1所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图3所示,该装置包括:第一确定单元31、第一获取单元32以及爬取单元33,其中
第一确定单元31,可以用于确定待爬取网页的目标域名信息。
第一获取单元32,可以用于从域名身份数据中,获取对应所述第一确定单元31确定的目标域名信息的身份凭证,所述域名身份数据中包含域名信息及每一个域名信息对应的身份凭证。
爬取单元33,可以用于根据所述第一获取单元32获取的身份凭证对目标域名信息对应的网页进行数据爬取。
进一步的,作为对上述图2所示方法的实现,本发明实施例还提供了一种网页数据爬取装置,用于对上述图2所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图4所示,该装置包括:第一确定单元401、第一获取单元402以及爬取单元403,其中
第一确定单元401,可以用于确定待爬取网页的目标域名信息。
第一获取单元402,可以用于从域名身份数据中,获取对应所述第一确定单元401确定的目标域名信息的身份凭证,所述域名身份数据中包含域名信息及每一个域名信息对应的身份凭证。
爬取单元403,可以用于根据所述第一获取单元402获取的身份凭证对目标域名信息对应的网页进行数据爬取。
进一步的,所述装置还包括:
注册单元404,可以用于注册网络监控接口程序;
第二获取单元405,可以用于检测到目标浏览器中执行访问操作时,通过所述注册单元404注册的网络监控接口程序获取第一访问数据,所述第一访问数据中包括所述身份凭证及域名信息,所述身份凭证包括身份标识及身份参数;
生成单元406,可以用于根据所述第二获取单元405获取的身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储。以便第一获取单元402根据所述域名身份数据获取对应所述目标域名信息的身份凭证。
进一步的所述装置还包括:
第二确定单元407,可以用于确定所述域名身份数据中是否存在所述域名信息及所述身份标识;
所述生成单元406,包括:
构建模块4061,可以用于若确定所述域名身份数据中不存在所述域名信息及所述身份标识,则根据所述身份凭证中的身份标识、身份参数及域名信息构建所述域名身份数据,并将所述域名身份数据进行存储;
更新模块4062,可以用于若确定所述域名身份数据中存在所述域名信息及所述身份标识,则根据所述身份参数更新所述域名身份数据,并将所述域名身份数据进行存储。
进一步的,所述第二获取单元405包括:
第一获取模块4051,可以用于当用户在目标浏览器中发出请求信息时,通过所述网络监控接口程序获取所述请求信息,并从所述请求信息中获取对应所述请求信息的第一访问数据;
第二获取模块4052,可以用于当用户在目标浏览器中接收响应信息时,通过所述网络监控接口程序获取所述响应信息,并从所述响应信息中获取对应所述响应信息的第一访问数据;
第三获取模块4053,可以用于当用户在目标浏览器完成访问操作后,通过所述网络监控接口程序从浏览器预设位置中获取对应所述访问操作的第一访问数据。
进一步的,所述装置还包括:
第三获取单元408,可以用于在爬取所述目标域名信息对应的网页时,获取第二访问数据,所述第二访问数据是爬取所述目标域名信息对应的网页时的访问数据,所述第二访问数据中包括所述目标域名信息及身份凭证;
第三确定单元409,可以用于根据所述第三获取单元408获取的第二访问数据,确定所述域名身份数据中是否存在所述目标域名信息及所述身份凭证中的身份标识;
更新单元410,可以用于若所述第三确定单元409确定所述域名身份数据中存在所述目标域名信息及所述身份凭证中的身份标识,则根据所述第二访问数据更新所述域名身份数据;
添加单元411,可以用于若所述第三确定单元409确定所述域名身份数据中未存在所述目标域名信息及所述身份凭证中的身份标识,则根据所述第二访问数据中的身份凭证及目标域名信息添加至所述域名身份数据中。
进一步的,所述第三获取单元408包括:
第一获取模块4081,可以用于当爬虫向目标域名信息对应的网页发出请求信息时,获取爬虫发出的请求信息,并从所述爬虫发出的请求信息中获取第二访问数据;
第二获取模块4082,可以用于当爬虫从所述目标域名信息对应的网页接收响应信息时,获取爬虫接收的响应信息,并从所述爬虫接收的响应信息中获取第二访问数据;
第三获取模块4083,可以用于当爬虫完成所述目标域名信息对应的网页的数据爬取时,从预置位置中获取对应所述数据爬取的第二访问数据。
借由上述技术方案,本发明实施例提供一种网页数据爬取方法及装置,对于现有技术在对设置有身份验证的网站进行数据爬取时,存在数据爬取失败的问题,本发明通过确定待爬取网页的目标域名信息,然后从域名身份数据中,获取对应所述目标域名信息的身份凭证,最后通过所述身份凭证对目标域名信息对应的网页进行数据爬取,从而能够根据身份凭证通过目标域名信息对应的网站的身份验证,实现对此类网站中数据的爬取功能。
同时,通过注册网络监控接口程序,能够在第一时间对浏览器中存在的访问请求进行监控,并及时进行访问数据的获取,从而能够确保所获取的数据的时效性。当用户在目标浏览器中发出请求信息时,通过获取所述请求信息,并从所述请求信息中获取对应所述请求信息的第一访问数据,能够确保在用户发送访问请求的阶段实现在用户的请求信息中的身份凭证的获取,从而确保身份凭证的准确性,从而为后续爬虫爬取数据时,能够通过身份认证,确保了爬取功能的实现。进一步的,当用户在目标浏览器中接收响应信息时,通过获取所述响应信息,并从所述响应信息中获取对应所述响应信息的第一访问数据,能够确保在用户接收响应信息的阶段实现在响应信息中的身份凭证的获取,从而确保身份凭证的准确性,继而为后续爬虫爬取数据提供支持。又进一步的,当用户在目标浏览器完成访问操作后,通过从浏览器预设位置中获取对应所述访问操作的第一访问数据,能够在用户完成一次访问后实现从浏览器中的预设位置的文件中实现身份凭证的获取,并且,由于浏览器预设位置中保存的文件中的身份数据更为全面,因此可以确保所获取的身份凭证全面性,进而为后续爬虫爬取网站数据时,提供更为全面的身份凭证。
并且,通过确定所述域名身份数据中是否存在所述域名信息及所述身份标识,并当确定存在所述域名信息及所述身份标识时,根据所述身份参数更新所述域名身份数据,能够确保所记载的身份凭证的准确性和实时性的同时还能确保生成多余的域名身份数据,节约系统资源。另外,在确定不存在时,根据所述身份凭证中的身份标识、身份参数及域名信息构建所述域名身份数据,能够确保用户每一次访问不同的网站时,都能生成对应的域名身份数据,为后续爬虫数据爬取提供支持。此外,通过分别从请求信息、响应信息以及预置位置中获取第二访问数据,能够确保及时和准确的获取到爬虫访问网站时的身份凭证,继而为后续根据该身份凭证生成或更新域名身份数据奠定基础。另外,通过确定所述域名身份数据中是否存在所述目标域名信息及所述身份凭证中的身份标识,并确定存在时根据所述第二访问数据更新所述域名身份数据,反之则根据所述第二访问数据中的身份凭证及目标域名信息添加至所述域名身份数据中,从而能够确保当使用爬虫对网页数据进行爬取时,还能够对身份凭证进行一步的更新,并当爬取后确定身份凭证存在缺失时能够对缺失的身份凭证进行补充,继而为后续再次进行网页爬取时,确定了身份凭证的准确性,为后续再次爬取时的成功奠定基础。
所述的网页数据爬取装置包括处理器和存储器,上述第一确定单元、第一获取单元以及爬取单元等作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现对设置有身份验证的网站中网页数据的爬虫爬取功能。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述网页数据爬取方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述网页数据爬取方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:确定待爬取网页的目标域名信息;从域名身份数据中,获取对应所述目标域名信息的身份凭证,所述域名身份数据中包含域名信息及每一个域名信息对应的身份凭证;根据所述身份凭证对目标域名信息对应的网页进行数据爬取。
可选的,在所述从域名身份数据中,获取对应所述目标域名信息的身份凭证之前,所述方法还包括:
注册网络监控接口程序;
当检测到目标浏览器中执行访问操作时,通过所述网络监控接口程序获取第一访问数据,所述第一访问数据中包括所述身份凭证及域名信息,所述身份凭证包括身份标识及身份参数;
根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储。
进一步的,在所述根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储之前,所述方法还包括:
确定所述域名身份数据中是否存在所述域名信息及所述身份标识;
所述根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储,包括:
若确定所述域名身份数据中不存在所述域名信息及所述身份标识,则根据所述身份凭证中的身份标识、身份参数及域名信息构建所述域名身份数据,并将所述域名身份数据进行存储;
若确定所述域名身份数据中存在所述域名信息及所述身份标识,则根据所述身份参数更新所述域名身份数据,并将所述域名身份数据进行存储。
进一步的,所述当检测到目标浏览器中执行访问操作时,通过所述网络监控接口程序获取第一访问数据包括:
当检测到目标浏览器中发出请求信息时,通过所述网络监控接口程序获取所述请求信息,并从所述请求信息中获取对应所述请求信息的第一访问数据;和/或,
当检测到目标浏览器中接收响应信息时,通过所述网络监控接口程序获取所述响应信息,并从所述响应信息中获取对应所述响应信息的第一访问数据;和/或,
当检测到目标浏览器完成访问操作后,通过所述网络监控接口程序从浏览器预设位置中获取对应所述访问操作的第一访问数据。
进一步的,所述方法还包括:
在爬取所述目标域名信息对应的网页时,获取第二访问数据,所述第二访问数据是爬取所述目标域名信息对应的网页时的访问数据,所述第二访问数据中包括所述目标域名信息及身份凭证;
根据所述第二访问数据,确定所述域名身份数据中是否存在所述目标域名信息及所述身份凭证中的身份标识;
若是,则根据所述第二访问数据更新所述域名身份数据;
若否,则根据所述第二访问数据中的身份凭证及目标域名信息添加至所述域名身份数据中。
进一步的,所述在爬取所述目标域名信息对应的网页时,获取第二访问数据包括:
当向目标域名信息对应的网页发出请求信息时,获取发出的请求信息,并从所述发出的请求信息中获取第二访问数据;和/或,
当从所述目标域名信息对应的网页接收响应信息时,获取接收的响应信息,并从所述接收的响应信息中获取第二访问数据;和/或,
当完成所述目标域名信息对应的网页的数据爬取时,从预置位置中获取对应所述数据爬取的第二访问数据。
本发明实施例中的设备可以是服务器、PC、PAD、手机等。
本发明实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:确定待爬取网页的目标域名信息;从域名身份数据中,获取对应所述目标域名信息的身份凭证,所述域名身份数据中包含域名信息及每一个域名信息对应的身份凭证;根据所述身份凭证对目标域名信息对应的网页进行数据爬取。
可选的,在所述从域名身份数据中,获取对应所述目标域名信息的身份凭证之前,所述方法还包括:
注册网络监控接口程序;
当检测到目标浏览器中执行访问操作时,通过所述网络监控接口程序获取第一访问数据,所述第一访问数据中包括所述身份凭证及域名信息,所述身份凭证包括身份标识及身份参数;
根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储。
进一步的,在所述根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储之前,所述方法还包括:
确定所述域名身份数据中是否存在所述域名信息及所述身份标识;
所述根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储,包括:
若确定所述域名身份数据中不存在所述域名信息及所述身份标识,则根据所述身份凭证中的身份标识、身份参数及域名信息构建所述域名身份数据,并将所述域名身份数据进行存储;
若确定所述域名身份数据中存在所述域名信息及所述身份标识,则根据所述身份参数更新所述域名身份数据,并将所述域名身份数据进行存储。
进一步的,所述当检测到目标浏览器中执行访问操作时,通过所述网络监控接口程序获取第一访问数据包括:
当检测到目标浏览器中发出请求信息时,通过所述网络监控接口程序获取所述请求信息,并从所述请求信息中获取对应所述请求信息的第一访问数据;和/或,
当检测到目标浏览器中接收响应信息时,通过所述网络监控接口程序获取所述响应信息,并从所述响应信息中获取对应所述响应信息的第一访问数据;和/或,
当检测到目标浏览器完成访问操作后,通过所述网络监控接口程序从浏览器预设位置中获取对应所述访问操作的第一访问数据。
进一步的,所述方法还包括:
在爬取所述目标域名信息对应的网页时,获取第二访问数据,所述第二访问数据是爬取所述目标域名信息对应的网页时的访问数据,所述第二访问数据中包括所述目标域名信息及身份凭证;
根据所述第二访问数据,确定所述域名身份数据中是否存在所述目标域名信息及所述身份凭证中的身份标识;
若是,则根据所述第二访问数据更新所述域名身份数据;
若否,则根据所述第二访问数据中的身份凭证及目标域名信息添加至所述域名身份数据中。
进一步的,所述在爬取所述目标域名信息对应的网页时,获取第二访问数据包括:
当向目标域名信息对应的网页发出请求信息时,获取发出的请求信息,并从所述发出的请求信息中获取第二访问数据;和/或,
当从所述目标域名信息对应的网页接收响应信息时,获取接收的响应信息,并从所述接收的响应信息中获取第二访问数据;和/或,
当完成所述目标域名信息对应的网页的数据爬取时,从预置位置中获取对应所述数据爬取的第二访问数据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (7)
1.一种网页数据爬取方法,其特征在于,包括:
确定待爬取网页的目标域名信息;
从域名身份数据中,获取对应所述目标域名信息的身份凭证,所述域名身份数据中包含域名信息及每一个域名信息对应的身份凭证;
根据所述身份凭证对目标域名信息对应的网页进行数据爬取;
其中,在所述从域名身份数据中,获取对应所述目标域名信息的身份凭证之前,所述方法还包括:
注册网络监控接口程序;
当检测到目标浏览器中执行访问操作时,通过所述网络监控接口程序获取第一访问数据,所述第一访问数据中包括所述身份凭证及域名信息,所述身份凭证包括身份标识及身份参数;
根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储;
其中,在所述根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储之前,所述方法还包括:
确定所述域名身份数据中是否存在所述域名信息及所述身份标识;
所述根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储,包括:
若确定所述域名身份数据中不存在所述域名信息及所述身份标识,则根据所述身份凭证中的身份标识、身份参数及域名信息构建所述域名身份数据,并将所述域名身份数据进行存储;
若确定所述域名身份数据中存在所述域名信息及所述身份标识,则根据所述身份参数更新所述域名身份数据,并将所述域名身份数据进行存储。
2.根据权利要求1所述的方法,其特征在于,所述当检测到目标浏览器中执行访问操作时,通过所述网络监控接口程序获取第一访问数据包括:
当检测到目标浏览器中发出请求信息时,通过所述网络监控接口程序获取所述请求信息,并从所述请求信息中获取对应所述请求信息的第一访问数据;和/或,
当检测到目标浏览器中接收响应信息时,通过所述网络监控接口程序获取所述响应信息,并从所述响应信息中获取对应所述响应信息的第一访问数据;和/或,
当检测到目标浏览器完成访问操作后,通过所述网络监控接口程序从浏览器预设位置中获取对应所述访问操作的第一访问数据。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述方法还包括:
在爬取所述目标域名信息对应的网页时,获取第二访问数据,所述第二访问数据是爬取所述目标域名信息对应的网页时的访问数据,所述第二访问数据中包括所述目标域名信息及身份凭证;
根据所述第二访问数据,确定所述域名身份数据中是否存在所述目标域名信息及所述身份凭证中的身份标识;
若是,则根据所述第二访问数据更新所述域名身份数据;
若否,则根据所述第二访问数据中的身份凭证及目标域名信息添加至所述域名身份数据中。
4.根据权利要求3所述的方法,其特征在于,所述在爬取所述目标域名信息对应的网页时,获取第二访问数据包括:
当向目标域名信息对应的网页发出请求信息时,获取发出的请求信息,并从所述发出的请求信息中获取第二访问数据;和/或,
当从所述目标域名信息对应的网页接收响应信息时,获取接收的响应信息,并从所述接收的响应信息中获取第二访问数据;和/或,
当完成所述目标域名信息对应的网页的数据爬取时,从预置位置中获取对应所述数据爬取的第二访问数据。
5.一种网页数据爬取装置,其特征在于,包括:
第一确定单元,用于确定待爬取网页的目标域名信息;
第一获取单元,用于从域名身份数据中,获取对应所述目标域名信息的身份凭证,所述域名身份数据中包含域名信息及每一个域名信息对应的身份凭证;
爬取单元,用于根据所述身份凭证对目标域名信息对应的网页进行数据爬取;
注册单元,用于注册网络监控接口程序;
第二获取单元,用于检测到目标浏览器中执行访问操作时,通过所述网络监控接口程序获取第一访问数据,所述第一访问数据中包括所述身份凭证及域名信息,所述身份凭证包括身份标识及身份参数;
生成单元,用于根据所述身份凭证及域名信息生成域名身份数据,并将所述域名身份数据进行存储;
第二确定单元,用于确定所述域名身份数据中是否存在所述域名信息及所述身份标识;
所述生成单元,包括:
构建模块,用于若确定所述域名身份数据中不存在所述域名信息及所述身份标识,则根据所述身份凭证中的身份标识、身份参数及域名信息构建所述域名身份数据,并将所述域名身份数据进行存储;
更新模块,用于若确定所述域名身份数据中存在所述域名信息及所述身份标识,则根据所述身份参数更新所述域名身份数据,并将所述域名身份数据进行存储。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求4中任意一项所述的网页数据爬取方法。
7.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时权利要求1至权利要求4中任意一项所述的网页数据爬取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811141618.4A CN110968753B (zh) | 2018-09-28 | 2018-09-28 | 网页数据爬取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811141618.4A CN110968753B (zh) | 2018-09-28 | 2018-09-28 | 网页数据爬取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968753A CN110968753A (zh) | 2020-04-07 |
CN110968753B true CN110968753B (zh) | 2024-02-13 |
Family
ID=70026923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811141618.4A Active CN110968753B (zh) | 2018-09-28 | 2018-09-28 | 网页数据爬取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968753B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152406A (zh) * | 2013-02-19 | 2013-06-12 | 人民搜索网络股份公司 | 网站的访问方法及装置 |
CN105631030A (zh) * | 2015-12-30 | 2016-06-01 | 福建亿榕信息技术有限公司 | 一种通用的网络爬虫模拟登录方法及系统 |
CN106611118A (zh) * | 2015-10-27 | 2017-05-03 | 北京国双科技有限公司 | 申请登录凭证的方法和装置 |
CN107704497A (zh) * | 2017-08-25 | 2018-02-16 | 上海壹账通金融科技有限公司 | 网页数据爬取方法、装置、网页数据爬取平台及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9158733B2 (en) * | 2010-03-07 | 2015-10-13 | Sailthru, Inc. | Computerized system and method for linking a user's E-mail that tracks a user's interest and activity |
-
2018
- 2018-09-28 CN CN201811141618.4A patent/CN110968753B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152406A (zh) * | 2013-02-19 | 2013-06-12 | 人民搜索网络股份公司 | 网站的访问方法及装置 |
CN106611118A (zh) * | 2015-10-27 | 2017-05-03 | 北京国双科技有限公司 | 申请登录凭证的方法和装置 |
CN105631030A (zh) * | 2015-12-30 | 2016-06-01 | 福建亿榕信息技术有限公司 | 一种通用的网络爬虫模拟登录方法及系统 |
CN107704497A (zh) * | 2017-08-25 | 2018-02-16 | 上海壹账通金融科技有限公司 | 网页数据爬取方法、装置、网页数据爬取平台及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于Python的反反爬虫技术分析与应用;余豪士等;《智能计算机与应用》;20180828(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110968753A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230370464A1 (en) | Systems and methods for controlling sign-on to web applications | |
US11201938B2 (en) | Systems and methods of token piggybacking | |
CN102447677B (zh) | 资源访问控制方法、系统和设备 | |
US20120317238A1 (en) | Secure cross-domain communication | |
CN112597472A (zh) | 单点登录方法、装置及存储介质 | |
CN110968760A (zh) | 网页数据的爬取方法、装置、网页登录方法及装置 | |
KR102090982B1 (ko) | 악의 웹 사이트 식별 방법, 장치 및 컴퓨터 기억매체 | |
CN105430102A (zh) | SaaS网站与第三方系统的集成方法、系统及其装置 | |
CN102413151A (zh) | 分享网络资源的方法及系统 | |
US20240012641A1 (en) | Model construction method and apparatus, and medium and electronic device | |
US8359352B2 (en) | Automated content and bookmark distribution | |
CN112738100A (zh) | 数据访问的鉴权方法、装置、鉴权设备和鉴权系统 | |
US20150317463A1 (en) | Active directory for user authentication in a historization system | |
CN105138675A (zh) | 数据库审计方法及设备 | |
US20190222582A1 (en) | Decentralized method of tracking user login status | |
US10440100B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium | |
CN110968753B (zh) | 网页数据爬取方法及装置 | |
EP3151514B1 (en) | A method in a client-server network and client-server network | |
CN107343028B (zh) | 一种基于http协议的通信方法及系统 | |
CN111240750A (zh) | 一种目标应用程序的唤醒方法及装置 | |
Ying | Research on multi-level security of shibboleth authentication mechanism | |
CN110688555B (zh) | 一种基于爬虫的数据源发现和验证系统 | |
CN110020076B (zh) | 网页数据爬取的方法和装置 | |
KR20090000263A (ko) | 상호 인증 시스템 | |
CN117880263A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |