CN106126693A - 一种网页的相关数据的发送方法及装置 - Google Patents
一种网页的相关数据的发送方法及装置 Download PDFInfo
- Publication number
- CN106126693A CN106126693A CN201610500745.3A CN201610500745A CN106126693A CN 106126693 A CN106126693 A CN 106126693A CN 201610500745 A CN201610500745 A CN 201610500745A CN 106126693 A CN106126693 A CN 106126693A
- Authority
- CN
- China
- Prior art keywords
- webpage
- related data
- source code
- page download
- web crawlers
- 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.)
- Granted
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/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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
本申请公开了一种网页的相关数据的发送方法,用以解决现有技术中如何使网络爬虫获取到JS对象对应的网页的相关数据的问题。方法包括:根据网络爬虫发送的网页下载请求,获取网页对应的原始代码;根据所述原始代码,确定所述网页的相关数据;其中,当所述原始代码中包括JS对象,或者包括JS对象的引用路径时,根据所述原始代码,确定所述网页的相关数据,包括:根据所述原始代码,确定所述JS对象;解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据;将确定出的所述网页的相关数据,发送给所述网络爬虫。本申请还公开一种网页的相关数据的发送装置。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种网页的相关数据的发送方法及装置。
背景技术
搜索引擎(Search Engine),是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。目前,搜索引擎主要采用网络爬虫,实现从互联网上搜索信息。
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。这里所说的网页,主要包括:
网络爬虫下载网页的具体实现过程,一般包括如下步骤:
1、从互联网页面中精心选择一部分网页,以这些网页的统一资源定位符(UniformResource Locator,URL)作为种子URL;
2、将这些种子URL放入由待抓取的网页的URL构成的队列(后称待抓取URL队列)中;
3、网络爬虫依次读取待抓取URL队列中的各URL,并通过域名解析系统(DomainName System,DNS)对URL进行转换,将URL转换为待抓取的网页对应的网站服务器的互联网协议(Internet Protocol,IP)地址;
4、将待抓取的网页在转换得到的所述IP地址对应的服务器中的相对路径(Relative Path)和转换得到的所述IP地址,携带在网页下载请求中发送给网页下载服务器;
如图1所示,为在现有技术中,网络爬虫向网页下载服务器web server发送网页下载请求,并接收web server反馈的网页的相关数据的示意图。
当然,网络爬虫也可以直接将待抓取的网页的URL发送给网页下载服务器,以便网页下载服务器根据URL来抓取网页。
5、网页下载服务器根据所述IP地址访问相应的服务器,以获取与所述相对路径相对应的网页,并将获取到的网页,发送给网络爬虫。
6、对于网页下载服务器发送给网络爬虫的网页,一方面,网络爬虫将它存储到用于保存网页下载服务器下载的页面内容的“页面库”中,以等待执行为页面内容建立索引等后续处理;另一方面,网络爬虫将网页下载服务器发送来的该网页对应的URL,从所述待抓取URL队列中移至用于存放已经下载的网页对应的URL的“己抓取URL队列”中,以避免重复下载同一URL对应的网页。
7、网络爬虫针对网页下载服务器发送来的各网页,分别确定各网页中分别包含的URL;并通过查询已抓取URL队列,从确定出的各网页中分别包含的URL中,找到对应的网页还未进行过下载的URL,并把这样的URL放入所述待抓取URL队列。
重复执行上述步骤3~7,直至所述待抓取URL队列为空,则网络爬虫暂时停止向网页下载服务器发送网页下载请求。
由于目前的网络爬虫不具备解析JavaScript(后文简写为JS)对象的功能,那么,针对第7步而言,网络爬虫在确定各网页中分别包含的URL时,若遇到网页中存在JS对象的情况,网络爬虫会忽略该JS对象。若浏览器对于该JS对象的执行结果,是生成一个动态页面,那么,若该JS对象被网络爬虫忽略,网络爬虫获取不到该动态页面的相关数据。其中,这里所说的相关数据,可能是动态页面本身,也可能是针对动态页面得到的统计数据,比如,该动态页面中的某关键字的出现次数,等。若遇到JS对象中包含一些URL的情况,那么,若该JS对象被网络爬虫忽略,则网络爬虫会获取不到该JS对象中包含的URL对应的网页的相关数据——该相关数据比如可以是该JS对象中包含的URL本身,或者根据URL获取到的网页的相关数据。无论是这两种情况中的哪种,都会导致网络爬虫获取到的网页的相关数据不够全面。
举例来说,若网页采用了阿贾克斯(Asynchronous Javascript And XML,AJAX,是一种创建交互式网页应用的网页开发技术)技术,那么,借助于AJAX,可以使用JS对象和层叠样式表(CSS,Cascading Style Sheets)来相应地更新网页的部分内容,而不是刷新整个网页。由于采用该技术,需要解析网页中的JS脚本中的JS对象,才能发出请求来获取用于更新网页的部分内容的资源,因此,针对采用了AJAX技术的网页而言,网络爬虫会获取不到JS脚本中的JS对象所对应的网页的相关数据。这里所说的相关数据,比如可以是根据用于更新网页的部分内容的资源,渲染得到的网页内容;或者,可以是针对所述网页内容的统计数据。
现有技术中,如何使网络爬虫获取到JS对象对应的网页的相关数据,是亟待解决的问题。
需要说明的是,JS,是一种直译式脚本语言,被广泛用于客户端的脚本编译,常用在超级文本标记语言(HTML,HyperText Markup Language)文件(该HTML文件即为网页)中使用,用来给网页增加动态功能,比如增加动态文本等。JS中的所有事物,比如字符串、数值、数组、函数等都是对象,具体可称为JS对象。一般地,JS对象,可以直接嵌入HTML文件中;或者,可以被编译为单独的JS文件(该JS文件不包含在HTML文件中),以便浏览器在解析HTML文件时引用该JS文件。
发明内容
本申请实施例提供一种网页的相关数据的发送方法,用以解决现有技术中如何使网络爬虫获取到JS对象对应的网页的相关数据的问题。
本申请实施例提供一种网页的相关数据的发送装置,用以解决现有技术中如何使网络爬虫获取到JS对象对应的网页的相关数据的问题。
本申请实施例采用下述技术方案:
一种网页的相关数据的发送方法,包括:
根据网络爬虫发送的网页下载请求,获取网页对应的原始代码;
根据所述原始代码,确定所述网页的相关数据;其中,当所述原始代码中包括JS对象,或者包括JS对象的引用路径时,根据所述原始代码,确定所述网页的相关数据,包括:根据所述原始代码,确定所述JS对象;解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据;
将确定出的所述网页的相关数据,发送给所述网络爬虫。
一种网页的相关数据的发送装置,包括:
获取单元,用于根据网络爬虫发送的网页下载请求,获取网页对应的原始代码;
数据确定单元,用于根据所述原始代码,确定所述网页的相关数据;其中,当所述原始代码中包括JS对象,或者包括JS对象的引用路径时,根据所述原始代码,确定所述网页的相关数据,包括:根据所述原始代码,确定所述JS对象;解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据;
发送单元,用于将确定出的所述网页的相关数据,发送给所述网络爬虫。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
采用本申请实施例提供的方案,由于在根据网页下载请求获取对应于网页的原始代码中包括JS对象,或者包括JS对象的引用路径时,可以根据所述原始代码确定所述JS对象,并对所述JS对象进行解析,根据解析结果确定网页的相关数据反馈给网络爬虫,从而即便网络爬虫不具备解析网页中的JS对象的功能,也可以使网络爬虫获取到网页中的JS对象对应的网页的相关数据,因此避免了由于网络爬虫不具备解析网页中的JS对象的功能,而导致网络爬虫获取到的网页的相关数据不够全面的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为现有技术中,网络爬虫向网页下载服务器web server发送网页下载请求,并接收web server反馈的网页的相关数据的示意图;
图2a为本申请实施例提供的一种网页的相关数据的发送方法的具体流程示意图;
图2b为用于生成网页的资源所对应的原始代码的示意图;
图3为本申请实施例中的包含网络爬虫、网页下载服务器和代理服务器的网络架构示意图;
图4为本申请实施例提供的一种网页的相关数据的发送装置的具体结构示意图;
图5为本申请实施例2提供的一种基于旁路渲染的搜索引擎结果优化系统的架构图;
图6为基于旁路渲染的搜索引擎结果优化系统响应于网页下载请求,使得网络爬虫能够获取到JS对象对应的指定格式的文件的过程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
为解决现有技术中如何使网络爬虫获取到JS对象对应的网页的相关数据的问题,本申请实施例首先提供一种如图2a所示的网页的相关数据的发送方法。该方法的执行主体可以是网页下载服务器。所述的执行主体并不构成对本申请的限定,为了便于描述,本申请实施例均以执行主体是网页下载服务器为例进行说明。
具体地,该网页的相关数据的发送方法,包括下述步骤:
步骤21,网页下载服务器根据网络爬虫发送的网页下载请求,获取网页对应的原始代码;
在网络爬虫期望下载网页时,可以将期望下载的网页(也称待抓取的网页)对应的URL携带在网页下载请求中,向网页下载服务器进行发送。网页下载服务器根据该网页下载请求,抓取网页(也可称待抓取的网页)对应的原始代码。视具体情况,这里所说的网页对应的原始代码,往往包括:HTML代码、JS对象、CSS,以及用于指示视频资源、音频资源或图片等在网络中的存储地址的代码等。
如图2b所示,为网页下载服务器抓取到的网页对应的原始代码的具体内容示意图。图2b所示的原始代码中,一般可以包括HTML代码、分别用于指示音频资源和视频资源在网络中的存储地址的代码、JS对象和CSS。
需要说明的是,现有技术中,网页下载服务器通过对该些原始代码进行解析,可以实现根据解析结果获取相应的资源并利用资源渲染网页,进而将渲染得到的网页发送给网络爬虫。然而,若所述原始代码中包含JS对象,比如用于生成动态网页的JS对象,或者用于实现AJAX技术的JS对象等,则生成的网页中会包含该JS对象,或者,生成的网页会引用该JS对象,那么,由现有技术可知,网络爬虫无法获取该JS对象对应的网页的相关数据。
以下继续对本申请实施例提供的方案进行介绍:
针对网络爬虫向网页下载服务器发送网页下载请求的具体实现方式而言,网络爬虫除了可以直接将待抓取的网页的URL发送给网页下载服务器外,或者,网络爬虫也可以通过DNS,将待抓取的网页对应的URL解析为相应的服务器的IP地址,并将该IP地址和待抓取的网页的相对路径携带在网页下载请求中发送给网页下载服务器。网页下载服务器根据该网页下载请求,抓取网页对应的原始代码。
本申请实施例提供的方案中,为保证网页下载服务器的安全,可在网页下载服务器的防火墙外部,设置一个代理服务器作为网页下载服务器的替身。当外部客户机(比如运行有网络爬虫的客户机)尝试访问网页下载服务器时,会将外部客户机发送的访问请求(如网页下载请求)先发送到代理服务器。采用这样的方式,抓取的网页位于网页下载服务器上,在防火墙内部受到安全保护。而代理服务器则位于防火墙外部,在外部客户机看来就像是网页下载服务器。
当外部客户机向网页下载服务器发送网页下载请求时,网页下载请求将转到代理服务器。然后,代理服务器通过防火墙中的特定通道,将外部客户机的网页下载请求发送到网页下载服务器。后续,网页下载服务器可以将与该网页下载请求对应的网页的相关数据,通过所述特定通道回传给代理服务器。代理服务器将所述相关数据发送给所述外部客户机,好像代理服务器就是实际的网页下载服务器。如果网页下载服务器返回错误消息,则代理服务器会先行截取该消息并更改标头中列出的任何URL,然后再将消息发送给所述外部客户机,如此可防止外部客户机获取网页下载服务器的重定向URL。可见,代理服务器就在网页下载服务器和可能的恶意攻击之间提供了除防火墙外的又一道屏障。
具体地,本申请实施例中,包含网络爬虫、网页下载服务器和代理服务器的网络架构示意图,如图3所示。
图3中所示的该代理服务器,具体而言是一种“反向代理(Reverse Proxy)服务器”。其中,反向代理方式是指以代理服务器来接收发向内部网络中的服务器(如网页下载服务器)的请求,然后将请求转发给该服务器,并将从内部网络中的该服务器上得到的结果返回给所述请求的发送方,此时,该代理服务器对外就表现为一个反向代理服务器。
本申请实施例中,若为了保证网页下载服务器的安全,而设置了如图3所示的反向代理服务器,那么,在这样的场景下,网页下载服务器所接收的网页下载请求,可以是由网络爬虫发向反向代理服务器,再由反向代理服务器向网页下载服务器发送的。网页下载服务器在接收到所述网页下载请求后,再根据所述网页下载请求,抓取用于生成待抓取的网页的资源。
步骤22,网页下载服务器根据抓取到的所述原始代码,确定所述网页的相关数据;
其中,当抓取到的所述原始代码中包括JS对象时,步骤22的具体实现方式包括:根据所述原始代码,确定所述JS对象;解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据。
这里所说的根据所述原始代码,确定所述JS对象,比如可以包括:确定所述原始代码中包含的JS对象;或者,根据所述原始代码中包含的JS的引用路径,确定根据所述引用路径能够引用到的JS对象。
本申请实施例中,视网络爬虫期望获取的网页的相关数据的不同,解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据,有不同的实现方式。
比如,若所述JS对象是用于生成一个动态网页,而网络爬虫期望获取的网页的相关数据,就是网页本身,那么,网页下载服务器可以解析所述JS对象,并根据解析结果,渲染相应的动态网页,进而将所述动态网页作为网络爬虫期望获取的网页的相关数据,发送给网络爬虫。
又比如,若所述JS对象是用于生成一个动态网页,而网络爬虫期望获取的网页的相关数据,是针对网页进行的相关统计结果,那么,网页下载服务器可以解析所述JS对象,并根据解析结果,渲染相应的动态网页,进而通过对所述动态网页中的指定信息进行统计,得到统计数据;进一步地,网页下载服务器将所述统计数据作为网络爬虫期望获取的网页的相关数据,发送给网络爬虫。其中,这里所说的统计数据,比如包括:所述动态网页中包含的各标题的具体内容、所述动态网页中包含的关键字、所述动态网页中的关键词出现的频次以及所述动态网页中包含的URL中的至少一种。当然,若网络爬虫期望获取的网页的相关数据(比如URL),可以通过解析抓取到的用于生成网页的资源中的JS对象就能得到,而无需进行网页渲染,那么,网页下载服务器也可以通过解析用于生成网页的资源,确定网络爬虫期望获取的相关数据。
需要说明的是,本申请实施例中,网页下载服务器可以根据网页下载请求中包含的网络爬虫的标识,以及网页下载服务器保存的不同网络爬虫的标识与期望获取的网页的相关数据的信息的映射关系,确定与网页下载请求中包含的网络爬虫的标识相映射的网页的相关数据的信息,以便确定发送来网页下载请求的网络爬虫,期望获取网页的什么样的相关数据。进而,可以根据确定结果和抓取到的所述资源,确定与所述确定结果相匹配的网页的相关数据。这里所说的网页的相关数据的信息,比如可以是用以表示“网络爬虫期望获取的网页的相关数据是网页本身,或是网页中包含的各标题的具体内容等”的信息。
还需要说明的是,本申请实施例中,针对抓取到的所述原始代码中包含的除JS对象外的其它代码,网页下载服务器也可以对所述其它代码进行解析,并根据解析结果,确定与所述其它代码相对应的网页的相关数据。比如,若所述其它代码包括HTML代码、分别用于指示音频资源和视频资源在网络中的存储地址的代码和CSS,那么,对该些代码进行解析后,可以根据解析结果获取相应的用于渲染网页的资源,并根据获取到的资源渲染网页,进而确定渲染出的网页的相关数据,以便后续返回给网络爬虫。这里所说的渲染出的网页的相关数据,比如可以就是渲染出的网页本身,也可以是渲染出的网页的快照,或者可以是针对渲染出的网页的统计数据,等。
在一种实施方式中,网页下载服务器,可以通过运行预先设置的预渲染程序,以便确定与所述JS对象对应的网页的相关数据。具体而言,这里所说的预渲染程序,可以用于执行:根据所述原始代码,确定所述JS对象;解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据。
其中,所述预渲染程序,是预先设置的、用于根据所述原始代码确定所述JS对象,以及解析JS对象,并根据对于JS对象的解析结果,确定与所述JS对象对应的相关数据的程序。
本申请实施例中,所述的预渲染程序,比如可以是PhantomJS。
PhantomJS,是一种基于WebKit的服务器端JavaScriptAPI,其支持各种Web标准:文档对象模型(Document Object Model,DOM)处理、CSS选择器、JSON(JavaScript ObjectNotation)、Canvas和可缩放矢量图形(SVG,Scalable Vector Graphics)。可以把PhantomJS看作一个“虚拟浏览器”,除了不能浏览,其他功能与正常浏览器的功能一样。
PhantomJS的常见功能,包括:解析网页中的JS对象,或解析网页中所引用的JS对象,并得到相应的解析结果。进一步地,还可以根据解析结果,实现网页的渲染。此外,PhantomJS还可以根据渲染出的网页,或者根据解析结果,确定针对网页的统计数据。这里所说的网页的统计数据,比如确定网页中包含的各标题的具体内容、网页中包含的关键字、网页中的关键词出现的频次以及网页中包含的URL中的至少一种。本申请实施例中,考虑到PhantomJS已有的该常见功能,正好可以弥补现有技术中的网络爬虫不具备解析下载到的网页中的JS对象的功能,因此,步骤22的一种具体实现方式,可以包括:通过运行PhantomJS,使得PhantomJS解析所述原始代码中包含或者引用的JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据。
本申请实施例中,也可以通过对网页下载服务器的功能进行改进,比如,在网页下载服务器中设置可以实现“功能1:根据所述原始代码,确定JS对象(所述原始代码中包含的JS对象和/或所述原始代码中包含的JS对象引用路径所引用的JS对象);解析所述JS对象;功能2:根据解析结果,确定网页的相关数据”的程序代码,以使得网页下载服务器能够实现功能1和功能2。
步骤23,网页下载服务器将通过执行步骤22确定出的所述网页的相关数据,发送给发送来所述网页下载请求的网络爬虫。
当不存在如图3所示的代理服务器时,网页下载服务器可以直接将确定出的所述网页的相关数据,发送给网络爬虫;当存在如3所示的代理服务器时,网页下载服务器可以将确定出的所述网页的相关数据发送给代理服务器,由该代理服务器再将所述网页的相关数据发送给网络爬虫。
采用本申请实施例提供的方案,由于在根据网页下载请求获取对应于网页的原始代码中包括JS对象,或者包括JS对象的引用路径时,可以根据所述原始代码确定所述JS对象,并对所述JS对象进行解析,根据解析结果确定网页的相关数据反馈给网络爬虫,从而即便网络爬虫不具备解析网页中的JS对象的功能,也可以使网络爬虫获取到网页中的JS对象对应的网页的相关数据,因此避免了由于网络爬虫不具备解析网页中的JS对象的功能,而导致网络爬虫获取到的网页的相关数据不够全面的问题。
针对网页下载服务器向网络爬虫反馈网页的相关数据的效率而言,若网页下载服务器响应于网页下载请求,实时地抓取所述原始代码,抓取原始代码的过程会耗费一定的时间;另一方面,若所述网页的相关数据,是需要渲染网页后才能得到的数据——该数据比如是渲染出的网页本身,或者对渲染出的网页中的指定关键词出现次数进行统计得到的统计数据等——那么,根据资源渲染网页,也会耗费一定的时间。这两部分时间的存在,会导致网页下载服务器需要较长时间,才能向网络爬虫反馈待抓取的网页的相关数据,效率较低。
本申请实施例中,为了解决网页下载服务器向网络爬虫反馈待抓取的网页的相关数据效率较低的问题,在一种实施方式中,网页下载服务器可以预先获取一些网页的相关数据进行保存,以便在后续由网络爬虫发来网页下载请求时,若保存的网页的相关数据中,刚好网页下载请求所请求获取的网页的相关数据,那么,可以从保存的网页的相关数据中,确定与该网页下载请求相匹配的相关数据并反馈给网路爬虫。由于采用这样的方式,无需等待实时地获取网页对应的原始代码,也无需等待根据资源进行网页渲染,而是可以相对比较快捷地查询到与网页下载请求所请求获取的网页的相关数据,并进行反馈,从而可以从一定程度上,提升网页下载服务器向网络爬虫反馈与网页相关的数据的效率。
需要说明的是,为了便于从预先保存的网页的相关数据中确定出与接收到的网页下载请求相匹配的相关数据,考虑到所述网页下载请求中,一般携带有期望获取的相关数据对应的网页的URL(本申请实施例中称为待抓取的网页对应的URL),或者携带有待抓取的网页对应的IP地址和待抓取的网页的相对路径,因此,本申请实施例中,在保存网页的相关数据时或者在保存网页的相关数据后,还可以建立网页的相关数据与相应的网页所对应的URL(和/或待抓取的网页对应的IP地址和待抓取的网页的相对路径)的映射关系,以便后续可以根据网页下载请求中携带的URL(和/或待抓取的网页对应的IP地址和待抓取的网页的相对路径),通过查找所述映射关系的方式,确定是否保存有与网页下载请求中携带的URL(和/或待抓取的网页对应的IP地址和待抓取的网页的相对路径)相映射的网页的相关数据。若查找结果为存在,则可以将与网页下载请求中携带的URL(和/或待抓取的网页对应的IP地址和待抓取的网页的相对路径)相映射的网页的相关数据反馈给网络爬虫;若查找结果为不存在,则可以执行步骤21:根据网络爬虫发送的网页下载请求,抓取用于生成网页(待抓取的网页)的资源。
出于与上述方法相同的发明构思,本申请实施例还提供一种网页的相关数据的发送装置,用以解决现有技术中如何使网络爬虫获取到JS对象对应的网页的相关数据的问题。该装置的具体结构示意图如图4所示,包括下述功能单元:
获取单元41,用于根据网络爬虫发送的网页下载请求,获取网页对应的原始代码。当存在反向代理服务器的情况下,获取单元41具体可以用于接收所述网络爬虫通过反向代理服务器发送来的网页下载请求,并根据所述网页下载请求,获取网页对应的原始代码。
数据确定单元42,用于根据获取单元41获取到的所述原始代码,确定所述网页的相关数据。比如,可以根据所述资源,生成作为所述网页的相关数据的所述网页本身,和/或,确定作为所述网页的相关数据的、与所述网页相关的统计数据。
其中,当所述原始代码中包括JS对象,或者包括JS对象的引用路径时,根据所述原始代码,确定所述网页的相关数据,包括:根据所述原始代码,确定所述JS对象;解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据。
发送单元43,用于将数据确定单元42确定出的所述网页的相关数据,发送给所述网络爬虫。
在一种实施方式中,所述数据确定单元42,具体可以用于:
运行预先设置的预渲染程序,所述预渲染程序执行:解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据。
在一种实施方式中,所述预渲染程序,如前文所述,比如可以是在JS的运行环境node.js中运行的PhantomJS。
在一种实施方式中,若所述网页下载请求中,包含待抓取的网页对应的URL,则获取单元41具体可以用于:根据预先获取并保存的网页的相关数据与相应的网页的URL的映射关系,判断预先获取并保存的网页的相关数据中,是否存在与所述网页下载请求中包含的URL相对应的网页的相关数据;若否,则根据所述网页下载请求,抓取用于生成与所述网页下载请求中包含的URL相对应的网页的资源。
采用本申请实施例提供的上述装置,由于在根据网页下载请求获取对应于网页的原始代码中包括JS对象,或者包括JS对象的引用路径时,可以根据所述原始代码确定所述JS对象,并对所述JS对象进行解析,根据解析结果确定网页的相关数据反馈给网络爬虫,从而即便网络爬虫不具备解析网页中的JS对象的功能,也可以使网络爬虫获取到网页中的JS对象对应的网页的相关数据,因此避免了由于网络爬虫不具备解析网页中的JS对象的功能,而导致网络爬虫获取到的网页的相关数据不够全面的问题。
实施例2
基于前述实施例1详细叙述了本申请的发明构思,为了便于更好的理解本申请的技术特征、手段和效果,下面对本申请实施例提供的网页发送方法和网页获取方法进一步说明,从而形成了本申请的又一个实施例。
请参照图5,为本申请实施例2提供的一种基于旁路渲染的搜索引擎结果优化系统的架构图。以下先对该系统中的各模块进行简单介绍。
Nignx反向代理服务器51,用于接收网页下载请求,并判断该网页下载请求是否由网络爬虫发出;若是,则将该网页下载请求发送给旁路服务模块50中的web server52;若否,则将该网页下载请求发送给web server53。其中,Nignx反向代理服务器51可以根据网页下载请求中是否包含网络爬虫的标识,判断网页下载请求是否由网络爬虫发出;若网页下载请求中包含有网络爬虫的标识,则可以判定该网页下载请求是由网络爬虫发出的;若网页下载请求中不包含网络爬虫的标识,则可以判定该网页下载请求不是由网络爬虫发出的。其中,网络爬虫的标识,是由网络爬虫设置在网页下载请求中的、用于表示网页下载请求的发送方是网络爬虫的标识。Nignx反向代理服务器51,还用于接收web server52或webserver53发送的对应于网页下载请求中包含的URL的网页的相关数据,并将接收到的网页的相关数据发送给网页下载请求的发送方。其中,web server52(或web server53)从网页中提取出网页内容后,可以将提取出的网页内容保存为指定格式的文件。所述指定格式的文件,即为所述的网页的相关数据。这里所说的指定格式,比如可以但不限于包括.html、.json或者.sql等格式。
旁路服务模块50,可视为网页下载服务器,或者视为网页下载服务器所包含的一个功能模块。旁路服务模块50具体可以包括web server52、缓存54和PhantomJS 55。旁路服务模块50的功能,在于根据Nginx反向代理服务器51发送的网页下载请求中包含的待抓取的网页对应的URL,向Nginx反向代理服务器51反馈所述待抓取的网页对应的所述指定格式的文件。
web server52,用于根据Nginx反向代理服务器51发送来的网页下载请求中包含的URL,通过查询预先获取或并保存在缓存54中的所述指定格式的文件与相应的URL的映射关系,判断缓存54中是否保存有与该网页下载请求中包含的URL相映射的所述指定格式的文件;若判断结果为是,则从缓存54中获取与该网页下载请求中包含的URL相映射的所述指定格式的文件,并将获取到的所述指定格式的文件发送给Nginx反向代理服务器51;若判断结果为否,则一方面,web server52可以根据该网页下载请求中包含的URL,访问相应的服务器,从而获取网页对应的原始代码,以便PhantomJS 55对获取到的所述原始代码进行解析,以及使得PhantomJS 55根据解析结果获取相应的资源——包括根据所述原始代码中的除JS对象以及JS对象的引用路径对应的JS对象(后简称为所述JS对象)外的其它代码的解析结果获取的资源,以及根据所述JS对象的解析结果获取的资源——来渲染网页;另一方面,web server52可以触发PhantomJS 55运行(也即运行预渲染程序)。PhantomJS 55在开始运行后,会对所述资源是否加载完毕进行监听,若监听到所述资源已加载完毕(一般是指,所述资源完整加载到网页下载服务器的内存中),则PhantomJS 55利用所述内存中的所述资源渲染网页。在PhantomJS 55完成渲染网页后,可以提取网页内容,并将提取出的网页内容保存为所述指定格式的文件,而后,web server52获取PhantomJS 55得到的该所述指定格式的文件并发送给Nginx反向代理服务器51。其中,这里所说的指定格式,比如可以但不限于包括.html、.json或者.sql等格式。
需要说明的是,为了实现运行PhantomJS 55,一般需要一个JS的运行环境。本申请实施例中,可以在旁路服务模块50中,采用node.js这个JS运行环境。具体而言,可以在旁路服务模块50中,开启node.js的一个子进程;然后,当需要运行PhantomJS 55这个预渲染程序时,可以将PhantomJS 55放入到node.js的该子进程中执行。
缓存54,用于保存web server52对于网页的抓取结果(即网页的相关数据,在本申请实施例2中为所述指定格式的文件),以及,保存所述抓取结果和相应的URL的映射关系。所述抓取结果的获取方式,以及所述映射关系的生成方式和生成时机,可以参照实施例1中的相关描述,此处不再赘述。
PhantomJS 55,用于对web server52获取到的所述原始代码进行解析,以及根据解析结果获取相应的资源。这里所说的资源,包括根据所述原始代码中的除所述JS对象外的其它代码的解析结果获取的资源,以及根据所述JS对象的解析结果获取的资源。进一步地,PhantomJS 55监听根据所述解析结果获取的资源是否加载完毕;若加载完毕,则利用加载完毕的资源渲染网页;在完成对网页的渲染后,根据渲染出的网页生成所述指定格式的文件发送给web server52,也即,向web server52返回当前抓取结果。由前文的说明可知,PhantomJS 55的一个重要的功能,是能够解析所述JS对象,并根据解析结果获取资源;以及利用获取到的资源渲染出与所述JS对象对应的网页,以及获取渲染出的网页中的网页内容。本申请实施例2中,利用PhantomJS 55的该功能,当加载完毕的所述资源中包含JS对象时,PhantomJS 55可以实现生成与该JS对象对应的所述指定格式的文件。所述指定格式的文件,即为网络爬虫期望获取到的网页的相关数据。可见,在网页下载服务器的一端,通过PhantomJS 55来解析源码,可以使得网络爬虫能够获取到与JS对象对应的网页的相关数据,避免现有技术中存在的问题。
当然,在web server52需要预先获取一些抓取结果并保存在缓存54的情况下,PhantomJS 55针对web server52抓取到的原始数据也会进行解析,并根据解析结果获取资源并利用资源渲染网页;在完成对网页的渲染后,将根据渲染处的网页生成的所述指定格式的文件发送给缓存54进行保存。
基于如图5所示的该基于旁路渲染的搜索引擎结果优化系统,以下介绍在获取到的所述原始代码中包含JS对象的情况下,该系统响应于网络爬虫的网页下载请求,使得网络爬虫能够获取到所述JS对象对应的所述指定格式的文件的过程。如图6所示,为该过程的具体实现流程图,包括下述步骤:
步骤61,网络爬虫发送包含URL1的网页下载请求,该网页下载请求首先会达到Nginx反向代理服务器51;
步骤62,Nginx反向代理服务器51判断出该网页下载请求是由网络爬虫发送的,从而将该网页下载请求发送给web server52;
步骤63,web server52查询缓存54中,是否存在预先获取并保存的、与URL1相映射的所述指定格式的文件;假设查询结果为不存在这样的文件,则web server52根据URL1,抓取相应的原始数据;
步骤64,PhantomJS 55解析所述原始数据;根据解析结果获取资源,并对资源是否加载完成进行监控;
步骤65,PhantomJS 55在所述资源加载完成后,根据所述资源渲染网页,进而根据渲染结果生成所述指定格式的文件;
在步骤64和步骤65中,当所述原始代码中包含JS对象,或者包含JS对象的引用路径时,PhantomJS 55会根据所述原始代码确定JS对象,并对确定出的JS对象进行解析,进一步地,根据解析结果获取相应的资源(可称为第一资源)来渲染相应的网页,进而生成所述指定格式的文件(记为所述指定格式的文件1)。比如,当JS对象的执行结果,是生成一个动态网页时,PhantomJS 55在对该JS对象进行解析后,会根据解析结果,获取用于生成动态网页的资源,并利用获取到的用于生成动态网页的资源渲染该动态网页,进而生成所述指定格式的文件1。针对生成所述指定格式的文件1而言,比如,可以直接将所述动态网页保存为指定具备指定格式的文件,如保存为后缀名为.html的文件,作为所述指定格式的文件1;又比如,可以从所述动态网页中获取网页内容,或者确定针对所述动态网页的统计数据,从而将所述网页内容或者所述统计数据,保存为具备指定格式的文件,如保存为后缀名为.json或者.sql等格式的文件,作为所述指定格式的文件1。
当然,PhantomJS 55也会解析所述原始代码中包含的除JS对象外的其他代码,从而根据解析结果获取资源(可称为第二资源),并利用获取到的资源渲染得到相应的网页,进一步地,根据渲染得到的该网页,生成指定格式的文件(记为所述指定格式的文件2)。所述指定格式的文件1和所述指定格式的文件2,可以共同作为步骤65中所述的指定格式的文件。
步骤66,PhantomJS 55将得到的所述指定格式的文件,发送给web server52;
步骤67,web server52将PhantomJS 55发送来的所述指定格式的文件,发送给Nginx反向代理服务器51;
步骤68,Nginx反向代理服务器51将web server52发送来的所述指定格式的文件,发送给网络爬虫,流程结束。
采用本申请实施例2提供的基于旁路渲染的搜索引擎结果优化系统,由于即便网络爬虫不具备解析网页中的JS对象的功能,也可以通过PhantomJS 55对网页对应的原始代码中的JS对象,和/或所述原始代码中包含的JS对象引用路径所引用的JS对象进行解析,并根据解析结果得到相应的所述指定格式的文件并反馈给网络爬虫,从而避免了由于网络爬虫不具备解析网页中的JS对象的功能,而导致网络爬虫获取到的网页的相关数据不够全面的问题。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种网页的相关数据的发送方法,其特征在于,包括:
根据网络爬虫发送的网页下载请求,获取网页对应的原始代码;
根据所述原始代码,确定所述网页的相关数据;其中,当所述原始代码中包括JS对象,或者包括JS对象的引用路径时,根据所述原始代码,确定所述网页的相关数据,包括:根据所述原始代码,确定所述JS对象;解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据;
将确定出的所述网页的相关数据,发送给所述网络爬虫。
2.如权利要求1所述的方法,其特征在于,解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据,具体包括:
运行预先设置的预渲染程序,所述预渲染程序执行:解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据。
3.如权利要求2所述的方法,其特征在于,所述预渲染程序包括在JS的运行环境node.js中运行的PhantomJS。
4.如权利要求1所述的方法,其特征在于,根据网络爬虫发送的网页下载请求,获取网页对应的原始代码,包括:
接收所述网络爬虫通过反向代理服务器发送来的网页下载请求;
根据所述网页下载请求,获取网页对应的原始代码。
5.如权利要求4所述的方法,其特征在于,所述网页下载请求中,包含待抓取的网页对应的统一资源定位符URL;
根据网络爬虫发送的网页下载请求,获取网页对应的原始代码,包括:
根据预先获取并保存的网页的相关数据与相应的网页的URL的映射关系,判断预先获取并保存的网页的相关数据中,是否存在与所述网页下载请求中包含的URL相对应的网页的相关数据;
若否,则根据所述网页下载请求,抓取用于生成与所述网页下载请求中包含的URL相对应的网页的原始代码。
6.如权利要求1所述的方法,其特征在于,根据所述原始代码,确定所述网页的相关数据,包括:
解析所述原始代码;
根据解析结果获取用于生成网页的资源;
根据获取的资源生成作为所述网页的相关数据的网页本身,和/或,根据获取的资源确定作为所述网页的相关数据的、与网页相关的统计数据。
7.一种网页的相关数据的发送装置,其特征在于,包括:
获取单元,用于根据网络爬虫发送的网页下载请求,获取网页对应的原始代码;
数据确定单元,用于根据所述原始代码,确定所述网页的相关数据;其中,当所述原始代码中包括JS对象,或者包括JS对象的引用路径时,根据所述原始代码,确定所述网页的相关数据,包括:根据所述原始代码,确定所述JS对象;解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据;
发送单元,用于将确定出的所述网页的相关数据,发送给所述网络爬虫。
8.如权利要求7所述的装置,其特征在于,数据确定单元,具体用于:
运行预先设置的预渲染程序,所述预渲染程序执行:解析所述JS对象,并根据解析结果,确定与所述JS对象对应的网页的相关数据。
9.如权利要求8所述的装置,其特征在于,所述预渲染程序包括在JS的运行环境node.js中运行的PhantomJS。
10.如权利要求7所述的装置,其特征在于,所述网页下载请求中,包含待抓取的网页对应的统一资源定位符URL;
获取单元,具体用于:根据预先获取并保存的网页的相关数据与相应的网页的URL的映射关系,判断预先获取并保存的网页的相关数据中,是否存在与所述网页下载请求中包含的URL相对应的网页的相关数据;若否,则根据所述网页下载请求,抓取用于生成与所述网页下载请求中包含的URL相对应的网页的原始代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610500745.3A CN106126693B (zh) | 2016-06-29 | 2016-06-29 | 一种网页的相关数据的发送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610500745.3A CN106126693B (zh) | 2016-06-29 | 2016-06-29 | 一种网页的相关数据的发送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106126693A true CN106126693A (zh) | 2016-11-16 |
CN106126693B CN106126693B (zh) | 2020-02-11 |
Family
ID=57284832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610500745.3A Active CN106126693B (zh) | 2016-06-29 | 2016-06-29 | 一种网页的相关数据的发送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126693B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844486A (zh) * | 2016-12-23 | 2017-06-13 | 北京奇虎科技有限公司 | 爬取动态网页的方法及装置 |
CN108509228A (zh) * | 2017-11-10 | 2018-09-07 | 平安普惠企业管理有限公司 | 加载页面的方法、终端设备及计算机可读存储介质 |
CN109543128A (zh) * | 2018-10-19 | 2019-03-29 | 深圳点猫科技有限公司 | 一种基于编程语言的前端框架项目实现方法及电子设备 |
CN109656670A (zh) * | 2018-12-27 | 2019-04-19 | 广州华多网络科技有限公司 | 一种页面渲染方法及装置 |
CN109885744A (zh) * | 2019-01-07 | 2019-06-14 | 平安科技(深圳)有限公司 | 网页数据爬取方法、装置、系统、计算机设备及存储介质 |
CN110045958A (zh) * | 2019-04-17 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 纹理数据生成方法、装置、存储介质及设备 |
CN110362731A (zh) * | 2019-07-15 | 2019-10-22 | 浙江大搜车软件技术有限公司 | 提升网站搜索排名的方法、装置、计算机设备和存储介质 |
CN110442815A (zh) * | 2019-06-24 | 2019-11-12 | 北京奇艺世纪科技有限公司 | 页面生成方法、系统、装置及计算机可读存储介质 |
CN110442808A (zh) * | 2019-06-28 | 2019-11-12 | 苏宁云计算有限公司 | 页面渲染加速方法和装置 |
CN110674444A (zh) * | 2019-09-20 | 2020-01-10 | 青岛海信移动通信技术股份有限公司 | 一种动态网页下载的方法及终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫系统 |
CN102880607A (zh) * | 2011-07-15 | 2013-01-16 | 舆情(香港)有限公司 | 网络动态内容抓取方法及网络动态内容爬虫系统 |
CN103186613A (zh) * | 2011-12-30 | 2013-07-03 | 大连天维科技有限公司 | 影视资源聚合系统 |
US20140164098A1 (en) * | 2012-11-27 | 2014-06-12 | Synqy Corporation | Method and system for the distribution, maintenance, management, merchandising and analysis of digital brand assets on the internet |
CN103873597A (zh) * | 2014-04-15 | 2014-06-18 | 厦门市美亚柏科信息股份有限公司 | 分布式网页下载方法和系统 |
-
2016
- 2016-06-29 CN CN201610500745.3A patent/CN106126693B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫系统 |
CN102880607A (zh) * | 2011-07-15 | 2013-01-16 | 舆情(香港)有限公司 | 网络动态内容抓取方法及网络动态内容爬虫系统 |
CN103186613A (zh) * | 2011-12-30 | 2013-07-03 | 大连天维科技有限公司 | 影视资源聚合系统 |
US20140164098A1 (en) * | 2012-11-27 | 2014-06-12 | Synqy Corporation | Method and system for the distribution, maintenance, management, merchandising and analysis of digital brand assets on the internet |
CN103873597A (zh) * | 2014-04-15 | 2014-06-18 | 厦门市美亚柏科信息股份有限公司 | 分布式网页下载方法和系统 |
Non-Patent Citations (1)
Title |
---|
RICHARD LAWSON: "《Web Scraping with Python Scrape data from any website with the power of Python》", 31 October 2015, PACKT PUBLISHING LTD. * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844486A (zh) * | 2016-12-23 | 2017-06-13 | 北京奇虎科技有限公司 | 爬取动态网页的方法及装置 |
CN108509228A (zh) * | 2017-11-10 | 2018-09-07 | 平安普惠企业管理有限公司 | 加载页面的方法、终端设备及计算机可读存储介质 |
CN109543128A (zh) * | 2018-10-19 | 2019-03-29 | 深圳点猫科技有限公司 | 一种基于编程语言的前端框架项目实现方法及电子设备 |
CN109543128B (zh) * | 2018-10-19 | 2021-01-12 | 深圳点猫科技有限公司 | 一种基于编程语言的前端框架项目实现方法及电子设备 |
CN109656670B (zh) * | 2018-12-27 | 2020-11-20 | 广州华多网络科技有限公司 | 一种页面渲染方法及装置 |
CN109656670A (zh) * | 2018-12-27 | 2019-04-19 | 广州华多网络科技有限公司 | 一种页面渲染方法及装置 |
CN109885744A (zh) * | 2019-01-07 | 2019-06-14 | 平安科技(深圳)有限公司 | 网页数据爬取方法、装置、系统、计算机设备及存储介质 |
CN109885744B (zh) * | 2019-01-07 | 2024-05-10 | 平安科技(深圳)有限公司 | 网页数据爬取方法、装置、系统、计算机设备及存储介质 |
CN110045958B (zh) * | 2019-04-17 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 纹理数据生成方法、装置、存储介质及设备 |
CN110045958A (zh) * | 2019-04-17 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 纹理数据生成方法、装置、存储介质及设备 |
CN110442815A (zh) * | 2019-06-24 | 2019-11-12 | 北京奇艺世纪科技有限公司 | 页面生成方法、系统、装置及计算机可读存储介质 |
CN110442815B (zh) * | 2019-06-24 | 2022-04-01 | 北京奇艺世纪科技有限公司 | 页面生成方法、系统、装置及计算机可读存储介质 |
CN110442808A (zh) * | 2019-06-28 | 2019-11-12 | 苏宁云计算有限公司 | 页面渲染加速方法和装置 |
CN110362731A (zh) * | 2019-07-15 | 2019-10-22 | 浙江大搜车软件技术有限公司 | 提升网站搜索排名的方法、装置、计算机设备和存储介质 |
CN110674444A (zh) * | 2019-09-20 | 2020-01-10 | 青岛海信移动通信技术股份有限公司 | 一种动态网页下载的方法及终端 |
CN110674444B (zh) * | 2019-09-20 | 2023-04-07 | 青岛海信移动通信技术股份有限公司 | 一种动态网页下载的方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN106126693B (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106126693A (zh) | 一种网页的相关数据的发送方法及装置 | |
US8660976B2 (en) | Web content rewriting, including responses | |
US8661335B2 (en) | Methods and systems for identifying content elements | |
US8499099B1 (en) | Converting data into addresses | |
US8131753B2 (en) | Apparatus and method for accessing and indexing dynamic web pages | |
US9836438B2 (en) | Methods and systems of outputting content of interest | |
CN106528657A (zh) | 浏览器跳转至应用程序的控制方法及装置 | |
CN104572777B (zh) | 基于UIWebView组件的网页加载方法及装置 | |
CN110069683B (zh) | 一种基于浏览器爬取数据的方法及装置 | |
CN107766344B (zh) | 一种模板渲染的方法、装置及浏览器 | |
CN110221871B (zh) | 网页获取方法、装置、计算机设备及存储介质 | |
CN106294379A (zh) | 一种页面的加载方法、装置和系统 | |
CN103412890A (zh) | 一种网页加载方法和装置 | |
WO2017124692A1 (zh) | 查找表单页面和目标页面转化关系的方法和装置 | |
CN107688568A (zh) | 基于网页访问行为记录的采集方法及装置 | |
CN109359231A (zh) | 一种分布式网络爬虫的信息爬取方法、服务器及存储介质 | |
US8296327B2 (en) | Short paths in web graphs with small query time | |
US9465814B2 (en) | Annotating search results with images | |
CN106886547A (zh) | 一种脚本生成方法与装置 | |
Mehta et al. | A comparative study of various approaches to adaptive web scraping | |
US20120072824A1 (en) | Content acquisition documents, methods, and systems | |
US11443098B1 (en) | Federated recursive user interface element rendering | |
US11687613B2 (en) | Generating lossless static object models of dynamic webpages | |
EP2431891A1 (en) | Methods and systems of outputting content of interest | |
CA2752860C (en) | Methods and systems for identifying content elements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |