CN110020076B - 网页数据爬取的方法和装置 - Google Patents

网页数据爬取的方法和装置 Download PDF

Info

Publication number
CN110020076B
CN110020076B CN201711053152.8A CN201711053152A CN110020076B CN 110020076 B CN110020076 B CN 110020076B CN 201711053152 A CN201711053152 A CN 201711053152A CN 110020076 B CN110020076 B CN 110020076B
Authority
CN
China
Prior art keywords
request
data
crawling
webpage
resource type
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
Application number
CN201711053152.8A
Other languages
English (en)
Other versions
CN110020076A (zh
Inventor
曹志明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201711053152.8A priority Critical patent/CN110020076B/zh
Publication of CN110020076A publication Critical patent/CN110020076A/zh
Application granted granted Critical
Publication of CN110020076B publication Critical patent/CN110020076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

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

网页数据爬取的方法和装置
技术领域
本发明涉及互联网技术应用领域,具体而言,涉及一种网页数据爬取的方法和装置。
背景技术
网页爬虫是一个自动提取网页的程序,其中,如图1所示,图1是现有网页的组成结构示意图,网页是通过统一资源定位符(Uniform Resoure Locator,简称URL)地址来定位的,URL的一般格式如下:协议类型://服务器地址(必要时需加上端口号)/路径/文件名;一个URL只能对应一个网页。网页爬虫通过制定URL地址,发送超文本传输协议(HyperTextTransfer Protocol,简称HTTP)请求,就可以获取到网页的内容。
一般情况下,网页爬虫只爬取超文本标记语言(HyperText Markup Language,简称HTML)类型的网页,但是有些情况下,比如某些网页的翻页操作,或一些网页只有鼠标浮动到某些文字上才会显示一些信息,这些都是通过JavaScript代码来控制的。此时,爬虫需要将网页中的JS文件也下载下来,才能模拟翻页的操作,获取到网页的信息。
现有的网页爬虫会在本地搭建一个模拟的浏览器,通过浏览器发送HTTP请求获取业务需要的HTML网页。在浏览器加载HTML网页完成后,浏览器会继续发送HTTP请求加载HTML网页上嵌入的JS文件。在浏览器将JS文件加载完成后,就可以编写代码模拟真实用户的鼠标操作。完成相关的模拟操作,就得到相应的信息了,如图2所示,图2是现有的网页爬虫爬取网页的流程示意图。
但是,如果爬虫需要爬取网页的数量为N,平均每个网页引用的JS文件数量为M的情况下,需要发送的HTTP请求个数即为N*(1+M),比不需要加载JS文件的爬虫多发送N*M次的HTTP请求。有些网站对一定时间内的HTTP请求次数是有控制的,此方案会针对控制严格的网站具有一定的局限性。另一方面,这种技术方案,耗费了大量的网络资源,成本也比较高。
针对上述由于相关技术中网页爬虫爬取网页的数据请求量高,导致的网络资源消耗高的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种网页数据爬取的方法和装置,以至少解决由于相关技术中网页爬虫爬取网页的数据请求量高,导致的网络资源消耗高的技术问题。
根据本发明实施例的一个方面,提供了一种网页数据爬取的方法,包括:解析接收到的网页数据爬取请求,得到请求资源类型;判断请求资源类型是否与预设缓存的请求资源类型相同;在判断结果不同的情况下,将网页数据爬取请求发送至远程网站;在判断结果相同的情况下,判断预存数据中是否存在与网页数据爬取请求对应的数据,并依据判断结果执行对应操作。
可选的,在解析接收到的网页数据爬取请求之前,该方法还包括:依据网页的源文件类型配置预设缓存的请求资源类型;其中,源文件类型包括:Javascript文件或图片;将Javascript文件和/或图片确定为预设缓存的请求资源类型。
可选的,判断请求资源类型是否与预设缓存的请求资源类型相同包括:解析网页数据爬取请求,得到网页数据爬取请求的请求资源类型;依据请求资源类型在预设缓存的请求资源类型中进行查询,判断请求资源类型是否与预设缓存的请求资源类型相同。
可选的,判断预存数据中是否存在与网页数据爬取请求对应的数据,并依据判断结果执行对应操作包括:依据网页数据爬取请求在预存数据中进行查询,判断预存数据中是否存在与网页数据爬取请求对应的数据;在判断结果为预存数据中存在与网页数据爬取请求对应的数据的情况下,向网页数据爬取请求的请求端返回网页数据爬取请求对应的数据;在判断结果为预存数据中不存在与网页数据爬取请求对应的数据的情况下,向远程网站转发网页数据爬取请求,并将返回的网页数据爬取请求对应的数据发送至请求端。
进一步地,可选的,将返回的网页数据爬取请求对应的数据发送至请求端包括:获取远程网站返回的网页数据爬取请求对应的数据;缓存数据;将数据返回请求端。
根据本发明实施例的一个方面,提供了另一种网页数据爬取的方法,包括:接收代理服务器转发的网页数据爬取请求;依据网页数据爬取请求提取对应的数据;将数据返回代理服务器。
可选的,依据网页数据爬取请求提取对应的数据包括:解析网页数据爬取请求,获取网页数据爬取请求的请求资源类型;在请求资源类型为超文本标记语言文件的情况下,匹配超文本标记语言文件对应的超文本标记语言文件结果;在请求资源类型为源文件类型的情况下,匹配源文件类别对应的源文件类型结果,其中,源文件类型包括:Javascript文件或图片。
根据本发明实施例的另一个方面,提供了一种网页数据爬取的装置,包括:解析模块,用于解析接收到的网页数据爬取请求,得到请求资源类型;第一判断模块,用于判断请求资源类型是否与预设缓存的请求资源类型相同;发送模块,用于在判断结果不同的情况下,将网页数据爬取请求发送至远程网站;第二判断模块,用于在判断结果相同的情况下,判断预存数据中是否存在与网页数据爬取请求对应的数据,并依据判断结果执行对应操作。
可选的,该装置还包括:第一配置模块,用于在解析接收到的网页数据爬取请求之前,依据网页的源文件类型配置预设缓存的请求资源类型;其中,源文件类型包括:Javascript文件或图片;第二配置模块,用于将Javascript文件和/或图片确定为预设缓存的请求资源类型。
可选的,第一判断模块包括:解析单元,用于解析网页数据爬取请求,得到网页数据爬取请求的请求资源类型;判断单元,用于依据请求资源类型在预设缓存的请求资源类型中进行查询,判断请求资源类型是否与上述预设缓存的请求资源类型相同。
可选的,第二判断模块包括:查询单元,用于依据网页数据爬取请求在预存数据中进行查询,判断预存数据中是否存在与网页数据爬取请求对应的数据;第一发送单元,用于在判断结果为预存数据中存在与网页数据爬取请求对应的数据的情况下,向网页数据爬取请求的请求端返回网页数据爬取请求对应的数据;第二发送单元,用于在判断结果为预存数据中不存在与网页数据爬取请求对应的数据的情况下,向远程网站转发网页数据爬取请求,并将返回的网页数据爬取请求对应的数据返回请求端。
进一步地,可选的,第二发送单元包括:获取子单元,用于获取远程网站返回的网页数据爬取请求对应的数据;缓存子单元,用于缓存数据;发送子单元,用于将数据返回请求端。
根据本发明实施例的另一个方面,提供了另一种网页数据爬取的装置,包括:接收模块,用于接收代理服务器转发的网页数据爬取请求;提取模块,用于依据网页数据爬取请求提取对应的数据;发送模块,用于将数据返回代理服务器。
可选的,提取模块包括:解析单元,用于解析网页数据爬取请求,获取网页数据爬取请求的请求资源类型;第一匹配单元,用于在请求资源类型为超文本标记语言文件的情况下,匹配超文本标记语言文件对应的超文本标记语言文件结果;第二匹配单元,用于在请求资源类型为源文件类型的情况下,匹配源文件类型对应的源文件类别结果,其中,源文件类型包括:Javascript文件或图片。
根据本发明实施例的又一个方面,提供了一种网页数据爬取的系统,包括:数据爬取终端、代理服务器和远程网站,其中,数据爬取终端,用于向代理服务器发送网页数据爬取请求;代理服务器,用于判断网页数据爬取请求中的请求资源类型是否与预设缓存的请求资源类型相同;在判断结果为不同的情况下,将网页数据爬取请求发送至远程网站;或,在判断结果为相同的情况下,判断预存数据中是否存在与网页数据爬取请求对应的数据,在不存在数据的情况下,将网页数据爬取请求发送至远程网站;远程网站,用于接收网页数据爬取请求,并依据网页数据爬取请求提取对应的数据,并将数据发送至代理服务器,以使得代理服务器将数据返回数据爬取终端;其中,代理服务器包括:上述一种网页数据爬取的装置;远程网站包括:上述另一种网页数据爬取的装置。
根据本发明实施例的再一个方面,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一项的网页数据爬取的方法。
根据本发明实施例的再一个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的网页数据爬取的方法。
在本发明实施例中,通过解析接收到的网页数据爬取请求,得到请求资源类型;判断请求资源类型是否与预设缓存的请求资源类型相同;在判断结果不同的情况下,将网页数据爬取请求发送至远程网站;在判断结果相同的情况下,判断预存数据中是否存在与网页数据爬取请求对应的数据,并依据判断结果执行对应操作,达到了降低超文本传输协议HTTP的重复请求的目的,从而实现了降低网络资源消耗的技术效果,进而解决了由于相关技术中网页爬虫爬取网页的数据请求量高,导致的网络资源消耗高的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有网页的组成结构示意图;
图2是相关技术中通过网页爬虫爬取网页的流程示意图;
图3是根据本发明实施例的网页数据爬取的方法的流程示意图;
图4是根据本发明实施例的一种网页数据爬取的方法的流程示意图;
图5是根据本发明实施例的另一种网页数据爬取的方法的流程示意图;
图6是根据本发明实施例的又一种网页数据爬取的方法的流程示意图;
图7是根据本发明实施例的网页数据爬取的装置的流程示意图;
图8是根据本发明实施例的一种网页数据爬取的装置的流程示意图;
图9是根据本发明实施例的网页数据爬取的系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例涉及的技术名词:
URL:统一资源定位符,Uniform Resoure Locator;
HTTP:超文本传输协议,HyperText Transfer Protocol;
HTML:超文本标记语言,HyperText Markup Language。
实施例一
根据本发明实施例,提供了一种网页数据爬取的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例在网页爬虫和远程网站之间,添加代理服务器。网页爬虫发送网页数据爬取请求网络资源,都会经过代理服务器。代理服务器包含缓存机制,可以制定预置规则,将符合预置规则的网络资源,在获取成功后保存在缓存中。
图3是根据本发明实施例的网页数据爬取的方法的流程示意图,如图3所示,在代理服务器侧,该方法包括如下步骤:
步骤S302,解析接收到的网页数据爬取请求,得到请求资源类型;
步骤S304,判断该请求资源类型是否与预设缓存的请求资源类型相同;
步骤S306,在判断结果不同的情况下,将网页数据爬取请求发送至远程网站;
步骤S308,在判断结果相同的情况下,判断预存数据中是否存在与网页数据爬取请求对应的数据,并依据判断结果执行对应操作。
由上可知,本申请实施例提供的网页数据爬取的方法可以适用于网页爬取流程,其中,步骤S302至步骤S308可以适用于代理服务器侧,本申请实施例提供的网页数据爬取的方法通过接收请求端发送的网页数据爬取请求,判断该网页数据爬取请求中的请求资源类型是否与预设缓存的请求资源类型相同,依据判断结果分别存在以下两种执行方式:
方式一,在判断结果相同的情况下,判断预先缓存中是否存储该请求资源类型对应的数据,在存储该数据的情况下,将该数据返回请求端;在没有存储该数据的情况下,向远程网站请求该数据,并将返回的数据发送至请求端;
方式二,当判断结果不同的情况下,将该网页数据爬取请求发送至远程网站,并将该远程网站返回的数据发送至请求端。
其中,预存数据为预设缓存的请求资源类型中各个类型对应的数据,当各个类型对应的数据发生更新时,代理服务器从远程网站进行获取并缓存,以使得在后续请求端发起网页数据爬取请求时,依据网页数据爬取请求中的请求资源类型返回对应的数据。
在匹配到网页数据爬取请求中请求资源类型之后,如果代理服务器侧存储有该请求资源类型对应的数据,则将该数据返回请求端,在本实施例该请求端为发送网页数据爬取请求的终端。其中,该请求端发送的网页数据爬取请求为待获取网页所要爬取的数据请求,在代理服务器侧根据网页数据爬取请求中的URL判断是否存储有对应的数据,在判断结果为是的情况下,向请求端返回对应数据;在判断结果为否的情况下,向远程网站请求对应的数据,并转发返回至请求端。
本申请实施例提供的网页数据爬取的方法中,通过解析接收到的网页数据爬取请求,得到请求资源类型;判断请求资源类型是否与预设缓存的请求资源类型相同;在判断结果不同的情况下,将网页数据爬取请求发送至远程网站;在判断结果相同的情况下,判断预存数据中是否存在与网页数据爬取请求对应的数据,并依据判断结果执行对应操作,达到了降低超文本传输协议HTTP的重复请求的目的,从而实现了降低网络资源消耗的技术效果,进而解决了由于相关技术中网页爬虫爬取网页的数据请求量高,导致的网络资源消耗高的技术问题。
可选的,在步骤S302中解析接收到的网页数据爬取请求之前,本申请实施例提供的网页数据爬取的方法还包括:
步骤S300,依据网页的源文件类型配置预设缓存的请求资源类型;其中,源文件类型包括:Javascript文件或图片;
步骤S301,将Javascript文件和/或图片确定为预设缓存的请求资源类型。
可选的,步骤S304,判断请求资源类型是否与预设缓存的请求资源类型相同包括:
Step1,解析网页数据爬取请求,得到网页数据爬取请求的请求资源类型;
Step2,依据请求资源类型在预设缓存的请求资源类型中进行查询,判断请求资源类型是否与上述预设缓存的请求资源类型相同。
可选的,步骤S308中判断预存数据中是否存在与网页数据爬取请求对应的数据,并依据判断结果执行对应操作包括:
Step1,依据网页数据爬取请求在预存数据中进行查询,判断预存数据中是否存在与网页数据爬取请求对应的数据;
Step2,在判断结果为预存数据中存在与网页数据爬取请求对应的数据的情况下,向网页数据爬取请求的请求端返回网页数据爬取请求对应的数据;
Step3,在判断结果为预存数据中不存在与网页数据爬取请求对应的数据的情况下,向远程网站转发网页数据爬取请求,并将返回的网页数据爬取请求对应的数据发送至请求端。
这里代理服务器依据网页数据爬取请求中的URL判断是否存储有对应的数据,在判断结果为是的情况下,执行上述Step2,在判断结果为否的情况下,执行上述Step3。
进一步地,可选的,步骤S308中Step2中的将返回的网页数据爬取请求对应的数据发送至请求端包括:
步骤A,获取远程网站返回的网页数据爬取请求对应的数据;
步骤B,缓存数据;
步骤C,将数据返回请求端。
综上,图4是根据本发明实施例的一种网页数据爬取的方法的流程示意图,如图4所示,在代理服务器侧,本申请实施例提供的网页数据爬取的方法包括如下步骤:
如图4所示,具体步骤如下:
(1)制定代理服务器缓存规则:如果请求资源类型为JS/图片文件,那么使用缓存策略;
(2)爬虫程序请求HTML文件;
(3)代理服务器检查不符合缓存策略,直接转发到远程网站;
(4)代理服务器将得到的HTML结果返回给爬虫程序;
(5)爬虫程序请求HTML文件中引用的JS文件;
(6)代理服务器检查JS文件符合缓存策略,检查缓存是否包含该JS文件,如果包含返回JS文件;如果不包含,转发请求到远程网站,得到结果后保存在缓存中,返回结果到爬虫程序。具体详见图5,图5是根据本发明实施例的另一种网页数据爬取的方法的流程示意图。
现有技术中网页爬虫会发送很多重复的HTTP请求,因此本申请加入一个中间层(即,本申请中的代理服务器),降低了HTTP请求造成的成本;在实现网页数据爬取的方法的过程中将爬取一个网站需要发送的HTTP请求的数量控制在了N+M,大大减少了网络流量,降低了成本。针对控制HTTP请求数量的网站,也有了很大的操作空间。
需要说明的是,本申请实施例提供的网页爬取的方法中代理服务器可以配置与请求端,对于请求端而言,仅需依据日常发送网页数据爬取请求,在代理服务器侧,通过对网页数据爬取请求的内容的甄别,将满足筛选条件的网页数据爬取请求本地处理,将不满足筛选条件的发送至远程网站,从而缩减远程网站与请求端之间的数据请求量,节约了网络资源。
实施例二
图6是根据本发明实施例的又一种网页数据爬取的方法的流程示意图,如图6所示,在远程网站侧,该方法包括如下步骤:
步骤S602,接收代理服务器转发的网页数据爬取请求;
步骤S604,依据网页数据爬取请求提取对应的数据;
步骤S606,将数据返回代理服务器。
本申请实施例提供的网页数据爬取的方法中,通过接收代理服务器转发的网页数据爬取请求;依据网页数据爬取请求提取对应的数据;将数据返回代理服务器,达到了降低超文本传输协议HTTP的重复请求的目的,从而实现了降低网络资源消耗的技术效果,进而解决了由于相关技术中网页爬虫爬取网页的数据请求量高,导致的网络资源消耗高的技术问题。
可选的,步骤S604中依据网页数据爬取请求提取对应的数据包括:
Step1,解析网页数据爬取请求,获取网页数据爬取请求的请求资源类型;
Step2,在请求资源类型为超文本标记语言文件的情况下,匹配超文本标记语言文件对应的超文本标记语言文件结果;
Step3,在请求资源类型为源文件类型的情况下,匹配源文件类别对应的源文件类型结果,其中,源文件类型包括:Javascript文件或图片。
实施例三
图7是根据本发明实施例的网页数据爬取的装置的流程示意图,如图7所示,在代理服务器侧,该装置包括:
解析模块72,用于解析接收到的网页数据爬取请求,得到请求资源类型;第一判断模块74,用于判断请求资源类型是否与预设缓存的请求资源类型相同;发送模块76,用于在判断结果不同的情况下,将网页数据爬取请求发送至远程网站;第二判断模块78,用于在判断结果相同的情况下,判断预存数据中是否存在与网页数据爬取请求对应的数据,并依据判断结果执行对应操作。
本申请实施例提供的网页数据爬取的装置中,通过解析接收到的网页数据爬取请求,得到请求资源类型;判断请求资源类型是否与预设的请求资源类型相同;在判断结果不同的情况下,将网页数据爬取请求发送至远程网站;在判断结果相同的情况下,判断预存数据中是否存在与网页数据爬取请求对应的数据,并依据判断结果执行对应操作,达到了降低超文本传输协议HTTP的重复请求的目的,从而实现了降低网络资源消耗的技术效果,进而解决了由于相关技术中网页爬虫爬取网页的数据请求量高,导致的网络资源消耗高的技术问题。
可选的,本申请实施例提供的网页数据爬取的装置还包括:第一配置模块,用于在解析接收到的网页数据爬取请求之前,依据网页的源文件类型配置预设缓存的请求资源类型;其中,源文件类型包括:Javascript文件或图片;第二配置模块,用于将Javascript文件和/或图片确定为预设缓存的请求资源类型。
可选的,第一判断模块包括:解析单元,用于解析网页数据爬取请求,得到网页数据爬取请求的请求资源类型;判断单元,用于依据请求资源类型在预设缓存的请求资源类型中进行查询,判断请求资源类型是否与上述预设缓存的请求资源类型相同。
可选的,第二判断模块78包括:查询单元,用于依据网页数据爬取请求在预存数据中进行查询,判断预存数据中是否存在与网页数据爬取请求对应的数据;第一发送单元,用于在判断结果为预存数据中存在与网页数据爬取请求对应的数据的情况下,向网页数据爬取请求的请求端返回网页数据爬取请求对应的数据;第二发送单元,用于在判断结果为预存数据中不存在与网页数据爬取请求对应的数据的情况下,向远程网站转发网页数据爬取请求,并将返回的网页数据爬取请求对应的数据返回请求端。
进一步地,可选的,第二发送单元包括:获取子单元,用于获取远程网站返回的网页数据爬取请求对应的数据;缓存子单元,用于缓存数据;发送子单元,用于将数据返回请求端。
上述网页数据爬取的装置包括处理器和存储器,上述接收模块72、第一判断模块74、发送模块76和第二判断模块78等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
实施例四
图8是根据本发明实施例的一种网页数据爬取的装置的流程示意图,如图8所示,在远程网站侧,该装置包括:
接收模块82,用于接收代理服务器转发的网页数据爬取请求;提取模块84,用于依据网页数据爬取请求提取对应的数据;发送模块86,用于将数据返回代理服务器。
本申请实施例提供的网页数据爬取的装置中,通过接收代理服务器转发的网页数据爬取请求;依据网页数据爬取请求提取对应的数据;将数据返回代理服务器,达到了降低超文本传输协议HTTP的重复请求的目的,从而实现了降低网络资源消耗的技术效果,进而解决了由于相关技术中网页爬虫爬取网页的数据请求量高,导致的网络资源消耗高的技术问题。
可选的,提取模块84包括:解析单元,用于解析网页数据爬取请求,获取网页数据爬取请求的请求资源类型;第一匹配单元,用于在请求资源类型为超文本标记语言文件的情况下,匹配超文本标记语言文件对应的超文本标记语言文件结果;第二匹配单元,用于在请求资源类型为源文件类型的情况下,匹配源文件类型对应的源文件类型结果,其中,源文件类型包括:Javascript文件或图片。
上述网页数据爬取的装置包括处理器和存储器,上述接收模块82、提取模块84和发送模块86等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
实施例五
图9是根据本发明实施例的网页数据爬取的系统的结构示意图,如图9所示,该系统包括:数据爬取终端92、代理服务器94和远程网站96,其中,数据爬取终端92,用于向代理服务器94发送网页数据爬取请求;代理服务器94,用于判断网页数据爬取请求中的请求资源类型是否与预设缓存的请求资源类型相同;在判断结果为不同的情况下,将网页数据爬取请求发送至远程网站96;或,在判断结果为相同的情况下,判断预存数据中是否存在与网页数据爬取请求对应的数据,在不存在数据的情况下,将网页数据爬取请求发送至远程网站;远程网站96,用于接收网页数据爬取请求,并依据网页数据爬取请求提取对应的数据,并将数据发送至代理服务器94,以使得代理服务器94将数据返回数据爬取终端92;
其中,代理服务器94包括:图7所示的网页数据爬取的装置;远程网站96包括:图8所示的网页数据爬取的装置。
实施例六
根据本发明实施例的再一个方面,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一项的网页数据爬取的方法。
实施例七
根据本发明实施例的再一个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的网页数据爬取的方法。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来达到了降低超文本传输协议HTTP的重复请求的目的,从而实现了降低网络资源消耗的技术效果。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(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 (9)

1.一种网页数据爬取的方法,其特征在于,包括:
解析接收到的网页数据爬取请求,得到请求资源类型;
判断所述请求资源类型是否与预设缓存的请求资源类型相同;
在判断结果不同的情况下,将所述网页数据爬取请求发送至远程网站;
在判断结果相同的情况下,判断预存数据中是否存在与所述网页数据爬取请求对应的数据,并依据判断结果执行对应操作;
所述判断预存数据中是否存在与所述网页数据爬取请求对应的数据,并依据判断结果执行对应操作包括:
依据所述网页数据爬取请求在所述预存数据中进行查询,判断所述预存数据中是否存在与所述网页数据爬取请求对应的数据;
在判断结果为所述预存数据中存在与所述网页数据爬取请求对应的数据的情况下,向所述网页数据爬取请求的请求端返回所述网页数据爬取请求对应的数据;
在判断结果为所述预存数据中不存在与所述网页数据爬取请求对应的数据的情况下,向所述远程网站转发所述网页数据爬取请求,并将返回的所述网页数据爬取请求对应的数据发送至请求端。
2.根据权利要求1所述的方法,其特征在于,在所述解析接收到的网页数据爬取请求之前,所述方法还包括:
依据网页的源文件类型配置所述预设缓存的请求资源类型;其中,所述源文件类型包括:Javascript文件或图片;
将所述Javascript文件和/或所述图片确定为所述预设缓存的请求资源类型。
3.根据权利要求1或2所述的方法,其特征在于,所述判断所述请求资源类型是否与预设缓存的请求资源类型相同包括:
解析所述网页数据爬取请求,得到所述网页数据爬取请求的请求资源类型;
依据所述请求资源类型在所述预设缓存的请求资源类型中进行查询,判断所述请求资源类型是否与所述预设缓存的请求资源类型相同。
4.根据权利要求1所述的方法,其特征在于,所述将返回的所述网页数据爬取请求对应的数据发送至请求端包括:
获取所述远程网站返回的所述网页数据爬取请求对应的数据;
缓存所述数据;
将所述数据返回所述请求端。
5.一种网页数据爬取的装置,其特征在于,包括:
解析模块,用于解析接收到的网页数据爬取请求,得到请求资源类型;
第一判断模块,用于判断所述请求资源类型是否与预设缓存的请求资源类型相同;
发送模块,用于在判断结果不同的情况下,将所述网页数据爬取请求发送至远程网站;
第二判断模块,用于在判断结果相同的情况下,判断预存数据中是否存在与所述网页数据爬取请求对应的数据,并依据判断结果执行对应操作;
所述第二判断模块包括:
查询单元,用于依据所述网页数据爬取请求在所述预存数据中进行查询,判断所述预存数据中是否存在与所述网页数据爬取请求对应的数据;
第一发送单元,用于在判断结果为所述预存数据中存在与所述网页数据爬取请求对应的数据的情况下,向所述网页数据爬取请求的请求端返回所述网页数据爬取请求对应的数据;
第二发送单元,用于在判断结果为所述预存数据中不存在与所述网页数据爬取请求对应的数据的情况下,向所述远程网站转发所述网页数据爬取请求,并将返回的所述网页数据爬取请求对应的数据发送至请求端。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第一配置模块,用于在所述解析接收到的网页数据爬取请求之前,依据网页的源文件类型配置所述预设缓存的请求资源类型;其中,所述源文件类型包括:Javascript文件或图片;
第二配置模块,用于将所述Javascript文件和/或所述图片确定为所述预设缓存的请求资源类型。
7.根据权利要求5或6所述的装置,其特征在于,所述第一判断模块包括:
解析单元,用于解析所述网页数据爬取请求,得到所述网页数据爬取请求的请求资源类型;
判断单元,用于依据所述请求资源类型在所述预设缓存的请求资源类型中进行查询,判断所述请求资源类型是否与上述预设缓存的请求资源类型相同。
8.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任意一项所述的网页数据爬取的方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的网页数据爬取的方法。
CN201711053152.8A 2017-10-31 2017-10-31 网页数据爬取的方法和装置 Active CN110020076B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711053152.8A CN110020076B (zh) 2017-10-31 2017-10-31 网页数据爬取的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711053152.8A CN110020076B (zh) 2017-10-31 2017-10-31 网页数据爬取的方法和装置

Publications (2)

Publication Number Publication Date
CN110020076A CN110020076A (zh) 2019-07-16
CN110020076B true CN110020076B (zh) 2021-06-22

Family

ID=67186738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711053152.8A Active CN110020076B (zh) 2017-10-31 2017-10-31 网页数据爬取的方法和装置

Country Status (1)

Country Link
CN (1) CN110020076B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405831B2 (en) * 2008-04-16 2016-08-02 Gary Stephen Shuster Avoiding masked web page content indexing errors for search engines
CN102724186B (zh) * 2012-06-06 2015-10-21 珠海市君天电子科技有限公司 一种钓鱼网站检测系统和检测方法
CN103577595B (zh) * 2013-11-15 2017-09-22 北京奇虎科技有限公司 基于当前浏览页面的关键词推送方法及装置
CN107102997A (zh) * 2016-02-22 2017-08-29 北京国双科技有限公司 数据爬取方法及装置
CN105930385A (zh) * 2016-04-13 2016-09-07 珠海迈科智能科技股份有限公司 一种数据爬取方法及系统
CN106844475A (zh) * 2016-12-23 2017-06-13 北京奇虎科技有限公司 确定隐藏的url的方法及装置
CN106682171B (zh) * 2016-12-28 2019-10-15 北京奇艺世纪科技有限公司 一种网页数据的缓存方法及装置
CN107247789A (zh) * 2017-06-16 2017-10-13 成都布林特信息技术有限公司 基于互联网的用户兴趣采集方法

Also Published As

Publication number Publication date
CN110020076A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
US10003666B2 (en) Key resource prefetching using front-end optimization (FEO) configuration
US10567407B2 (en) Method and system for detecting malicious web addresses
CN109033115B (zh) 一种动态网页爬虫系统
US8527862B2 (en) Methods for making ajax web applications bookmarkable and crawlable and devices thereof
CN106126693B (zh) 一种网页的相关数据的发送方法及装置
CN110442815B (zh) 页面生成方法、系统、装置及计算机可读存储介质
CN107807937B (zh) 一种网站seo处理方法、装置及系统
TW201800962A (zh) 網頁文件發送方法、網頁渲染方法及裝置、網頁渲染系統
CN109634753B (zh) 切换浏览器内核的数据处理方法、装置、终端和存储介质
CN112637361B (zh) 一种页面代理方法、装置、电子设备及存储介质
CN110555179A (zh) 一种动态网站脚本取证方法、终端设备及存储介质
CN109325192B (zh) 一种广告防屏蔽的方法和装置
CN112818270A (zh) 数据跨域传递方法、装置及计算机设备
CN106899689B (zh) 一种信息预下发的方法及服务器
CN116150513A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN104615597A (zh) 浏览器中清除缓存文件的方法、装置和系统
CN109670100B (zh) 一种页面数据抓取方法及装置
CN112672187B (zh) 页面生成方法、装置、计算机设备及可读存储介质
CN106919595B (zh) 一种用于Cookie映射的方法、装置及电子设备
CN110020076B (zh) 网页数据爬取的方法和装置
Huang et al. Achieving fast page load for websites across multiple domains
CN110633432A (zh) 一种获取数据的方法、装置、终端设备及介质
US11716405B1 (en) System and method for identifying cache miss in backend application
CN111338928A (zh) 基于chrome浏览器测试的方法及装置
CN113127788B (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
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 Guoshuang Technology Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant