CN105912693B - 网络请求处理方法、网络数据获取方法、装置及服务器 - Google Patents
网络请求处理方法、网络数据获取方法、装置及服务器 Download PDFInfo
- Publication number
- CN105912693B CN105912693B CN201610258567.8A CN201610258567A CN105912693B CN 105912693 B CN105912693 B CN 105912693B CN 201610258567 A CN201610258567 A CN 201610258567A CN 105912693 B CN105912693 B CN 105912693B
- Authority
- CN
- China
- Prior art keywords
- access request
- source code
- code information
- network access
- page
- 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
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及互联网领域,公开了一种网络请求处理方法、网络数据获取方法、装置及服务器,以解决现有技术中SPA不能被传统搜索引擎抓取的技术问题。该方法包括:在接收到针对单页面应用的网络访问请求之后,需要判断网络访问请求的访问者是否为搜索引擎爬虫,如果为搜索引擎爬虫的话,则直接获得网络访问请求所对应的页面内容,然后将页面内容的源代码信息传输至搜索引擎爬虫,也即是说,在搜索引擎爬虫搜索到单页面应用时,并不是直接返回一个空白页面,而是返回单页面应用所对应的页面内容的源代码信息,基于此,既能够使单页面应用保持原有架构不变,同时可以被多种搜索引擎抓取。
Description
技术领域
本发明涉及互联网领域,尤其涉及网络请求处理方法、网络数据获取方法、装置及服务器。
背景技术
SPA(单页面应用:Single Page Application)是一种Web应用程序架构,整个网站只有一个HTML(Hyper Text Markup Language:超文本标记语言)页面,网站的内容和资源全部动态加载,无页面刷新,能够提供给用户类似桌面程序的良好体验。
搜索引擎爬虫(Spider、Crawler):又称网页蜘蛛、网络机器人,是一种按照一定的规则自动地抓取万维网信息的程序。
SPA的内容由于全部由JavaScript脚本生成,URL通常含#号,而#号后的参数无法传递给后台,后台总是返回一个固定的页面,故而导致其不能被传统搜索引擎抓取。
发明内容
本发明提供一种网络请求处理方法、网络数据获取方法、装置及服务器,以解决现有技术中SPA不能被传统搜索引擎抓取的技术问题。
第一方面,本发明实施例提供一种网络请求处理方法,包括:
接收针对单页面应用的网络访问请求;
判断所述网络访问请求的访问者是否为搜索引擎爬虫;
如果所述访问者为所述搜索引擎爬虫,获得所述网络访问请求对应的页面内容的源代码信息;
将所述源代码信息传输至所述搜索引擎爬虫。
可选的,所述方法还包括:
如果所述访问者不为所述搜索引擎爬虫,将与所述网络访问请求所对应的预定首页提供给所述访问者。
可选的,所述获得所述网络访问请求的页面内容的源代码信息,包括:
从预存的页面内容中获取所述网络访问请求所对应的页面内容的源代码信息;和/或
通过所述网络访问请求的网络链接渲染获得所述页面内容的源代码信息。
可选的,所述通过所述网络访问请求的网络链接渲染获得所述页面内容的源代码信息,包括:
通过Webkit引擎对所述网络链接渲染获得所述网络访问请求对应的页面内容;
提取得到所述页面内容的源代码信息。
可选的,所述获得所述网络访问请求的页面内容的源代码信息,包括:
判断预存的页面内容中是否包含所述网络访问请求所对应的页面内容的源代码信息;
在所述判断结果为是时,从预存的源代码信息中获取出所述网络访问请求所对应的源代码信息;
在所述判断结果为否时,渲染获得所述网络访问请求的源代码信息。
可选的,所述判断所述网络访问请求的访问者是否为搜索引擎爬虫,包括:
判断所述网络访问请求中是否包含预设标识;所述预设标识用于指示所述网络访问请求的访问者为搜索引擎爬虫。
第二方面,本发明实施例提供一种网络数据获取方法,包括:
通过搜索引擎爬虫发起网络访问请求;
如果所述网络访问请求所访问的页面包含单页面应用,获取所述单页面应用的服务器发送的所述单页面应用的源代码信息;
存储所述单页面应用与所述源代码信息之间的对应关系,以在检测到通过搜索引擎访问所述单页面应用时,通过所述源代码信息获取所述页面内容。
可选的,所述获取所述单页面应用的服务器发送的所述单页面应用的源代码信息,包括:
获得所述单页面应用的服务器确定所述网络访问请求的发起者为所述搜索引擎爬虫时发送的所述源代码信息。
可选的,在所述存储所述单页面应用与所述源代码信息之间的对应关系之后,所述方法还包括:
检测是否存在通过搜索引擎访问所述单页面应用的访问操作;
当存在所述访问操作时,基于所述对应关系获得所述单页面应用所对应的所述源代码信息;
控制所述访问方基于所述源代码信息获得所述单页面应用所对应的页面内容。
第三方面,本发明实施例提供一种网络请求处理装置,包括:
接收模块,用于接收针对单页面应用的网络访问请求;
判断模块,用于判断所述网络访问请求的访问者是否为搜索引擎爬虫;
第一获得模块,用于如果所述访问者为所述搜索引擎爬虫,获得所述网络访问请求对应的页面内容的源代码信息;
传输模块,用于将所述源代码信息传输至所述搜索引擎爬虫。
第四方面,本发明实施例提供一种服务器,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
接收针对单页面应用的网络访问请求;
判断所述网络访问请求的访问者是否为搜索引擎爬虫;
如果所述访问者为所述搜索引擎爬虫,获得所述网络访问请求对应的页面内容的源代码信息;
将所述源代码信息传输至所述搜索引擎爬虫。
本发明有益效果如下:
由于在本发明实施例中,在接收到针对单页面应用的网络访问请求之后,需要判断网络访问请求的访问者是否为搜索引擎爬虫,如果为搜索引擎爬虫的话,则直接获得网络访问请求所对应的页面内容,然后将页面内容的源代码信息传输至搜索引擎爬虫,也即是说,在搜索引擎爬虫搜索到单页面应用时,并不是直接返回一个空白页面,而是返回单页面应用所对应的页面内容的源代码信息,基于此,既能够使单页面应用保持原有架构不变,同时可以被多种搜索引擎抓取,有利于该单页面应用的SEO(Search EngineOptimization:搜索引擎优化)。
附图说明
图1为本发明实施例中网络请求处理方法的流程图;
图2为本发明实施例中网络数据获取方法的流程图;
图3为本发明实施例中网络请求处理装置的结构图;
图4为本发明实施例中网络数据获取装置的结构图;
图5是根据一示例性实施例示出的电子设备的框图;
图6是本发明实施例中服务器的结构示意图。
具体实施方式
本发明提供一种网络请求处理方法、网络数据获取方法、装置及服务器,以解决现有技术中SPA不能被传统搜索引擎抓取的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
在接收到针对单页面应用的网络访问请求之后,需要判断网络访问请求的访问者是否为搜索引擎爬虫,如果为搜索引擎爬虫的话,则直接获得网络访问请求所对应的页面内容的源代码信息,然后将源代码信息传输至搜索引擎爬虫,也即是说,在搜索引擎爬虫搜索到单页面应用时,并不是直接返回一个空白页面,而是返回单页面应用所对应的页面内容的源代码信息,基于此,既能够使单页面应用保持原有架构不变,同时可以被多种搜索引擎抓取,有利于该单页面应用的SEO(Search Engine Optimization:搜索引擎优化)。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
第一方面,本发明实施例提供一种网络请求处理方法,请参考图1,包括:
步骤S101:接收针对单页面应用的网络访问请求;
步骤S102:判断所述网络访问请求的访问者是否为搜索引擎爬虫;
步骤S103:如果所述访问者为所述搜索引擎爬虫,获得所述网络访问请求对应的页面内容的源代码信息;
步骤S104:将所述源代码信息传输至所述搜索引擎爬虫。
步骤S105:如果所述访问者不为所述搜索引擎爬虫,将与所述网络访问请求所对应的预定首页提供给所述访问者。
举例来说,该方案通常应用于单页面应用所在网站的服务器。
步骤S101中,搜索引擎爬虫首先从互联网页面中选择一部分网页,以这些网页的链接地址作为种子URL(Uniform Resource Locator:统一资源定位器),将这些种子URL放入待抓取URL队列中,爬虫从待抓取URL队列依次读取,并对读取的URL进行DNS(DomainName System:域名系统)解析,从而把URL链接地址转换为网站服务器对应的IP地址。
其中,搜索引擎爬虫通过抓取可以获得各个关键词以及其对应的网络链接,搜索引擎在检测到用户通过搜索引擎进行网络搜索时,可以基于用户提供的搜索关键词查找获得与之相关的网络链接,并将其提供给用户。
其中,搜索引擎爬虫在进行网页抓取时,会携带UserAgent(用户代理信息),该UserAgent用来标识进行网页抓取的访问者信息,其可以包含以下内容:访问者的操作系统、浏览器信息、访问者的搜索引擎标识等等。
步骤S102中,单页面应用的服务器在接收到网络访问请求之后,可以通过UserAgent判断访问者是否为搜索引擎爬虫,例如:判断UserAgent中是否包含预设标识,所述预设标识用于指示所述网络访问请求的访问者为搜索引擎爬虫;如果包含预设标识,则说明访问者为搜索引擎爬虫。预设标识例如为:搜索引擎标识、特定搜索引擎的标识等等。其中,如果单页面应用希望针对所有搜索引擎爬虫都提供其页面内容,则单页面应用的服务器将所有的搜索引擎标识都识别为预设标识;如果单页面应用希望针对部分搜索引擎爬虫提供其页面内容,例如:针对SG搜索引擎爬虫提供其页面内容,则单页面应用的服务器将SG搜索引擎的标识识别为预设标识等等。
步骤S103中,可以通过多种方式获得所述网络访问请求对应的页面内容的源代码信息,下面列举其中的几种进行介绍,当然,在具体实施过程中,不限于以下几种情况。
获得页面内容的源代码信息的方式①:通过Webkit引擎对所述网络链接渲染获得所述网络访问请求对应的页面内容;提取得到所述页面内容的源代码信息。
举例来说,可以通过网络链接进行渲染获得页面内容,然后直接提取该页面内容的源代码信息,其中,可以通过WebKit引擎对网络链接进行渲染获得所述页面内容,WebKit是一个开源的浏览器引擎。
基于上述方案,达到了能够方便的抓取单页面应用的页面内容的技术效果。
获得页面内容的源代码信息的方式②:从预存的页面内容中获取所述网络访问请求所对应的页面内容的源代码信息。
举例来说,如果预设时间段内(例如:1天、2天等等)已经接收过搜索引擎爬虫发送的网络访问请求并且获取了对应的页面内容的源代码信息,则可以缓存该页面内容的源代码信息,进而在再次接收到针对该页面的网络访问请求时,不需要再次对网络访问请求所对应的页面内容进行渲染,而是直接将之前渲染生成的页面内容的源代码信息提供给搜索引擎爬虫。
通过上述方案,达到了提高向搜索引擎爬虫提供网络访问请求所对应的页面内容的速度的技术效果,并且能够降低单页面应用的服务器的处理负担。
另外,在不冲突的情况下,以上两种获得网络访问请求所对应的页面内容的方式也可以组合使用,例如:判断预存的页面内容的源代码信息中是否包含所述网络访问请求所对应的页面内容的源代码信息;在所述判断结果为是时,从预存的页面内容的源代码信息中获取出所述网络访问请求所对应的页面内容的源代码信息;在所述判断结果为否时,通过对网络链接进行渲染获得所述网络访问请求的页面内容的源代码信息。
通过上述方案,一方面能够保证不管系统中是否预存有网络访问请求所对应的页面内容的源代码信息,都能够向搜索引擎爬虫提供对应的页面内容的源代码信息;同时又能够保证在预存了页面内容的源代码信息的情况下,提高向搜索引擎爬虫提供对应的页面内容的源代码信息的速度,并且降低单页面应用的服务器的处理负担。
步骤S104中,在将页面内容的源代码信息发送至搜索引擎爬虫之后,搜索引擎爬虫可以将其发送给搜索引擎爬虫所对应的服务器,搜索引擎爬虫的服务器在获得该页面内容的源代码信息之后,可以将该页面内容的源代码信息存储于预设位置,并且存储该预设位置与页面内容的网络链接之间的对应关系。
其中,用户如果通过该搜索引擎进行搜索的话,浏览器在检测到用户访问某一网络链接之后,跳转至该网络链接,并且可以通过该网络链接查找获得该单页面应用的页面内容的源代码信息的存储地址,然后从该存储地址获得该源代码信息,并将该源代码信息发送至用户所在的电子设备,由该电子设备的浏览器通过该源代码信息生成页面内容。
例如:用户希望通过搜索引擎搜索“蝙蝠侠”,则用户在搜索引擎的搜索框中输入搜索关键词“蝙蝠侠”,搜索引擎接收到该搜索关键词之后,查找获得与该搜索关键词对应的网络链接,并将获得网络链接以及各个网络链接的摘要信息通过搜索引擎的搜索结果界面提供给用户;用户在搜索结果界面查看到“蝙蝠侠”相关的网络链接和摘要信息之后,就可以从中选择出一条网络链接进行访问,其中,如果用户访问的网络链接为单页面应用所对应的网络链接,则浏览器通过该网络链接查找获得该单页面应用的页面内容源代码信息,并将源代码信息提供给浏览器,浏览器通过该源代码信息生成该单页面应用的页面内容。如果用户访问的网络链接并非单页面应用,则浏览器直接通过该网络链接向该网络链接对应的服务器请求获得其对应的网页内容。
作为一种可选的实施例,也可以为单页面应用单独生成一套静态的HTML页面,专供搜索引擎爬虫抓取。也即是,如果检测到搜索引擎爬虫针对该单页面应用的网络访问操作,则将该静态的HTML页面的网络链接(还可以包含摘要信息)提供给搜索引擎爬虫。
步骤S105中,如果访问者不为搜索引擎爬虫,则说明访问者可能为普通用户,在这种情况下,可以为其返回固定首页,该固定首页往往指向该单页面应用的入口,进而可以通过该固定首页访问该单页面应用,由此实现了在接收到网络访问请求时,针对不同访问者,采用不同的处理方式的发明目的。
举例来说,如果检测到访问者为用户,则可以使用pushState技术为用户提供该单页面应用的页面内容。其中,pushState是HTML5的History API,能够在浏览器的历史记录中插入记录,而不会引起页面刷新。其既能够实现单页面的功能,同时又能够去除该单页面应用的URL中所包含的“#”号。
其中,如果用户通过搜索引擎访问某网络链接的话,则该网络链接的访问者为搜索引擎;如果用户直接通过该网络链接在地址栏访问该网络链接的话,则该网络链接的访问者为用户。
第二方面,基于同一发明构思,本发明实施例提供一种网络数据获取方法,该方案通常应用于搜索引擎爬虫所在的服务器,请参考图2,包括:
步骤S201:通过搜索引擎爬虫发起网络访问请求;
步骤S202:如果所述网络访问请求所访问的页面包含单页面应用,获取所述单页面应用的服务器发送的所述单页面应用的源代码信息;
步骤S203:存储所述单页面应用与所述源代码信息之间的对应关系,以在检测到通过搜索引擎访问所述单页面应用时,通过所述源代码信息获取所述页面内容。
可选的,所述获取所述单页面应用的服务器发送的所述单页面应用的源代码信息,包括:获得所述单页面应用的服务器确定所述网络访问请求的发起者为所述搜索引擎爬虫时发送的所述源代码信息。
可选的,在所述存储所述单页面应用与所述源代码信息之间的对应关系之后,所述方法还包括:
检测是否存在通过搜索引擎访问所述单页面应用的访问操作;
当存在所述访问操作时,基于所述对应关系获得所述单页面应用所对应的所述源代码信息;
控制所述访问方基于所述源代码信息获得所述单页面应用所对应的页面内容。
第三方面,基于同一发明构思,本发明实施例提供一种网络请求处理装置,请参考图3,包括:
接收模块30,用于接收针对单页面应用的网络访问请求;
判断模块31,用于判断所述网络访问请求的访问者是否为搜索引擎爬虫;
第一获得模块32,用于如果所述访问者为所述搜索引擎爬虫,获得所述网络访问请求对应的页面内容的源代码信息;
传输模块33,用于将所述源代码信息传输至所述搜索引擎爬虫。
可选的,所述装置还包括:
提供模块,用于如果所述访问者不为所述搜索引擎爬虫,将与所述网络访问请求所对应的预定首页提供给所述访问者。
可选的,所述第一获得模块32,用于:
从预存的页面内容中获取所述网络访问请求所对应的页面内容的源代码信息;和/或
通过所述网络访问请求的网络链接渲染获得所述页面内容的源代码信息。
可选的,所述第一获得模块32,包括:
第一渲染单元,用于通过Webkit引擎对所述网络链接渲染获得所述网络访问请求对应的页面内容;
提取单元,用于提取得到所述页面内容的源代码信息。
可选的,所述第一获得模块32,包括:
判断单元,用于判断预存的页面内容中是否包含所述网络访问请求所对应的页面内容的源代码信息;
获取单元,用于在所述判断结果为是时,从预存的源代码信息中获取出所述网络访问请求所对应的源代码信息;
第二渲染单元,用于在所述判断结果为否时,渲染获得所述网络访问请求的源代码信息。
可选的,所述判断模块31,用于:
判断所述网络访问请求中是否包含预设标识;所述预设标识用于指示所述网络访问请求的访问者为搜索引擎爬虫。
由于本发明第三方面所介绍的网络请求处理装置为实施本发明实施例第一方面所介绍的网络请求处理方法所采用的装置,基于本发明实施例第一方面所介绍的网络请求处理方法,本领域所属技术人员能够了解本发明实施例第三方面所介绍的网络请求处理装置的具体结构及变形,故而在此不再赘述,凡是实施本发明实施例第一方面所介绍的网络请求处理方法所采用的装置,都属于本发明实施例所欲保护的范围。
第四方面,基于同一发明构思,本发明实施例提供一种网络数据获取装置,请参考图4,包括:
发起模块40,用于通过搜索引擎爬虫发起网络访问请求;
获取模块41,用于如果所述网络访问请求所访问的页面包含单页面应用,获取所述单页面应用的服务器发送的所述单页面应用的源代码信息;
存储模块42,用于存储所述单页面应用与所述源代码信息之间的对应关系,以在检测到通过搜索引擎访问所述单页面应用时,通过所述源代码信息获取所述页面内容。
可选的,所述获取模块41,用于:
获得所述单页面应用的服务器确定所述网络访问请求的发起者为所述搜索引擎爬虫时发送的所述源代码信息。
可选的,所述装置还包括:
检测模块,用于检测是否存在通过搜索引擎访问所述单页面应用的访问操作;
第二获得模块,用于当存在所述访问操作时,基于所述对应关系获得所述单页面应用所对应的所述源代码信息;
控制模块,用于控制所述访问方基于所述源代码信息获得所述单页面应用所对应的页面内容。
由于本发明第四方面所介绍的网络数据获取装置为实施本发明实施例第二方面所介绍的网络数据获取方法所采用的装置,基于本发明实施例第二方面所介绍的网络数据获取方法,本领域所属技术人员能够了解本发明实施例第四方面所介绍的网络数据获取装置的具体结构及变形,故而在此不再赘述,凡是实施本发明实施例第二方面所介绍的网络数据获取方法所采用的装置,都属于本发明实施例所欲保护的范围。
第五方面,基于同一发明构思,本发明实施例提供一种服务器,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
接收针对单页面应用的网络访问请求;
判断所述网络访问请求的访问者是否为搜索引擎爬虫;
如果所述访问者为所述搜索引擎爬虫,获得所述网络访问请求对应的页面内容的源代码信息;
将所述源代码信息传输至所述搜索引擎爬虫。
由于本发明第五方面所介绍的服务器为实施本发明实施例第一方面所介绍的网络请求处理方法所采用的装置,基于本发明实施例第一方面所介绍的网络请求处理方法,本领域所属技术人员能够了解本发明实施例第五方面所介绍的服务器的具体结构及变形,故而在此不再赘述,凡是实施本发明实施例第一方面所介绍的网络请求处理方法所采用的装置,都属于本发明实施例所欲保护的范围。
第六方面,基于同一发明构思,本发明实施例提供一种服务器,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
通过搜索引擎爬虫发起网络访问请求;
如果所述网络访问请求所访问的页面包含单页面应用,获取所述单页面应用的服务器发送的所述单页面应用的源代码信息;
存储所述单页面应用与所述源代码信息之间的对应关系,以在检测到通过搜索引擎访问所述单页面应用时,通过所述源代码信息获取所述页面内容。
由于本发明第六方面所介绍的服务器为实施本发明实施例第二方面所介绍的网络数据获取方法所采用的装置,基于本发明实施例第二方面所介绍的网络数据获取方法,本领域所属技术人员能够了解本发明实施例第六方面所介绍的服务器的具体结构及变形,故而在此不再赘述,凡是实施本发明实施例第二方面所介绍的网络数据获取方法所采用的装置,都属于本发明实施例所欲保护的范围。
图5是根据一示例性实施例示出的电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理、移动终端、穿戴式设备、车载设备等。
参照图5,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了两种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图6是本发明实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行一种网络请求处理方法,所述方法包括:
接收针对单页面应用的网络访问请求;
判断所述网络访问请求的访问者是否为搜索引擎爬虫;
如果所述访问者为所述搜索引擎爬虫,获得所述网络访问请求对应的页面内容的源代码信息;
将所述源代码信息传输至所述搜索引擎爬虫。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行一种网络数据获取方法,所述方法包括:
通过搜索引擎爬虫发起网络访问请求;
如果所述网络访问请求所访问的页面包含单页面应用,获取所述单页面应用的服务器发送的所述单页面应用的源代码信息;
存储所述单页面应用与所述源代码信息之间的对应关系,以在检测到通过搜索引擎访问所述单页面应用时,通过所述源代码信息获取所述页面内容。
本发明一个或多个实施例,至少具有以下有益效果:
由于在本发明实施例中,在接收到针对单页面应用的网络访问请求之后,需要判断该网络访问请求的访问者是否为搜索引擎爬虫,如果为搜索引擎爬虫,则直接获得该网络访问请求所对应的页面内容的源代码信息,然后将该源代码信息传输至搜索引擎爬虫,也即是说,在搜索引擎爬虫搜索到单页面应用时,并不是直接返回一个空白页面,而是返回单页面应用所对应的页面内容的源代码信息,基于此,既能够使单页面应用保持原有架构不变,同时可以被多种搜索引擎抓取,有利于提高该单页面应用的SEO(Search EngineOptimization:搜索引擎优化)。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种网络请求处理方法,其特征在于,包括:
接收针对单页面应用的网络访问请求;
判断所述网络访问请求的访问者是否为搜索引擎爬虫;
如果所述访问者为所述搜索引擎爬虫,获得所述网络访问请求对应的页面内容的源代码信息,包括:通过所述网络访问请求的网络链接渲染获得所述页面内容的源代码信息;
将所述源代码信息传输至所述搜索引擎爬虫;
如果所述访问者不为所述搜索引擎爬虫,将与所述网络访问请求所对应的预定首页提供给所述访问者。
2.如权利要求1所述的方法,其特征在于,所述获得所述网络访问请求的页面内容的源代码信息,包括:
从预存的页面内容中获取所述网络访问请求所对应的页面内容的源代码信息。
3.如权利要求2所述的方法,其特征在于,所述通过所述网络访问请求的网络链接渲染获得所述页面内容的源代码信息,包括:
通过Webkit引擎对所述网络链接渲染获得所述网络访问请求对应的页面内容;
提取得到所述页面内容的源代码信息。
4.如权利要求1所述的方法,其特征在于,所述获得所述网络访问请求的页面内容的源代码信息,包括:
判断预存的页面内容中是否包含所述网络访问请求所对应的页面内容的源代码信息;
在所述判断结果为是时,从预存的源代码信息中获取出所述网络访问请求所对应的源代码信息;
在所述判断结果为否时,渲染获得所述网络访问请求的源代码信息。
5.如权利要求1-4任一所述的方法,其特征在于,所述判断所述网络访问请求的访问者是否为搜索引擎爬虫,包括:
判断所述网络访问请求中是否包含预设标识;所述预设标识用于指示所述网络访问请求的访问者为搜索引擎爬虫。
6.一种网络数据获取方法,其特征在于,包括:
通过搜索引擎爬虫发起网络访问请求;
如果所述网络访问请求所访问的页面包含单页面应用,获取所述单页面应用的服务器发送的所述单页面应用的源代码信息;所述源代码信息通过所述网络访问请求的网络链接渲染获得;
存储所述单页面应用与所述源代码信息之间的对应关系,以在检测到通过搜索引擎访问所述单页面应用时,通过所述源代码信息获取所述页面内容。
7.如权利要求6所述的方法,其特征在于,所述获取所述单页面应用的服务器发送的所述单页面应用的源代码信息,包括:
获得所述单页面应用的服务器确定所述网络访问请求的发起者为所述搜索引擎爬虫时发送的所述源代码信息。
8.如权利要求6或7所述的方法,其特征在于,在所述存储所述单页面应用与所述源代码信息之间的对应关系之后,所述方法还包括:
检测是否存在通过搜索引擎访问所述单页面应用的访问操作;
当存在所述访问操作时,基于所述对应关系获得所述单页面应用所对应的所述源代码信息;
控制所述访问方基于所述源代码信息获得所述单页面应用所对应的页面内容。
9.一种网络请求处理装置,其特征在于,包括:
接收模块,用于接收针对单页面应用的网络访问请求;
判断模块,用于判断所述网络访问请求的访问者是否为搜索引擎爬虫;
第一获得模块,用于如果所述访问者为所述搜索引擎爬虫,获得所述网络访问请求对应的页面内容的源代码信息,包括:通过所述网络访问请求的网络链接渲染获得所述页面内容的源代码信息;
传输模块,用于将所述源代码信息传输至所述搜索引擎爬虫;
提供模块,用于如果所述访问者不为所述搜索引擎爬虫,将与所述网络访问请求所对应的预定首页提供给所述访问者。
10.一种服务器,其特征在于,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序所包含的用于进行以下操作的指令:
接收针对单页面应用的网络访问请求;
判断所述网络访问请求的访问者是否为搜索引擎爬虫;
如果所述访问者为所述搜索引擎爬虫,获得所述网络访问请求对应的页面内容的源代码信息;所述源代码信息通过所述网络访问请求的网络链接渲染获得;
将所述源代码信息传输至所述搜索引擎爬虫;
如果所述访问者不为所述搜索引擎爬虫,将与所述网络访问请求所对应的预定首页提供给所述访问者。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610258567.8A CN105912693B (zh) | 2016-04-22 | 2016-04-22 | 网络请求处理方法、网络数据获取方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610258567.8A CN105912693B (zh) | 2016-04-22 | 2016-04-22 | 网络请求处理方法、网络数据获取方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105912693A CN105912693A (zh) | 2016-08-31 |
CN105912693B true CN105912693B (zh) | 2020-05-19 |
Family
ID=56751708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610258567.8A Active CN105912693B (zh) | 2016-04-22 | 2016-04-22 | 网络请求处理方法、网络数据获取方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912693B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729531A (zh) * | 2017-10-27 | 2018-02-23 | 深圳市行云易通科技有限公司 | 一种动态渲染类网页优化方法 |
CN107766532A (zh) * | 2017-10-27 | 2018-03-06 | 深圳市行云易通科技有限公司 | 一种前端Node.js自动化正静态方法 |
CN108173823A (zh) * | 2017-12-21 | 2018-06-15 | 五八有限公司 | 页面防抓取方法及装置 |
CN108021699A (zh) * | 2017-12-21 | 2018-05-11 | 有米科技股份有限公司 | 单页web网站的响应优化方法和系统 |
US10747828B2 (en) * | 2018-03-27 | 2020-08-18 | Capital One Services, Llc | Systems and methods for single page application server side renderer |
CN108491206A (zh) * | 2018-04-12 | 2018-09-04 | 江南大学 | 一种spa单页面实现方法及系统 |
CN110598135A (zh) * | 2018-05-24 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 网络请求处理方法、装置、计算机可读介质及电子设备 |
CN111104587A (zh) * | 2018-10-26 | 2020-05-05 | 北京金山云网络技术有限公司 | 网页显示方法、装置和服务器 |
CN110362731A (zh) * | 2019-07-15 | 2019-10-22 | 浙江大搜车软件技术有限公司 | 提升网站搜索排名的方法、装置、计算机设备和存储介质 |
CN110598146B (zh) * | 2019-07-24 | 2022-05-06 | 上海易点时空网络有限公司 | 基于Reactjs的SPA应用程序实现方法以及装置 |
CN110929257B (zh) * | 2019-10-30 | 2022-02-01 | 武汉绿色网络信息服务有限责任公司 | 一种网页中携带恶意代码的检测方法和装置 |
CN111563224A (zh) * | 2020-05-15 | 2020-08-21 | 成都库珀区块链科技有限公司 | 一种站点自定义的方法、系统及相关装置 |
CN112667945A (zh) * | 2020-12-25 | 2021-04-16 | 政和科技股份有限公司 | 一种基于前后端分离技术开发网站的seo优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441636A (zh) * | 2007-11-21 | 2009-05-27 | 中国科学院自动化研究所 | 一种基于知识库的医院信息搜索引擎及系统 |
CN103164446A (zh) * | 2011-12-14 | 2013-06-19 | 阿里巴巴集团控股有限公司 | 一种网页请求信息的响应方法及装置 |
CN104506529A (zh) * | 2014-12-22 | 2015-04-08 | 北京奇虎科技有限公司 | 网站防护方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090077024A1 (en) * | 2007-09-14 | 2009-03-19 | Klaus Abraham-Fuchs | Search system for searching a secured medical server |
-
2016
- 2016-04-22 CN CN201610258567.8A patent/CN105912693B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441636A (zh) * | 2007-11-21 | 2009-05-27 | 中国科学院自动化研究所 | 一种基于知识库的医院信息搜索引擎及系统 |
CN103164446A (zh) * | 2011-12-14 | 2013-06-19 | 阿里巴巴集团控股有限公司 | 一种网页请求信息的响应方法及装置 |
CN104506529A (zh) * | 2014-12-22 | 2015-04-08 | 北京奇虎科技有限公司 | 网站防护方法和装置 |
CN104506529B (zh) * | 2014-12-22 | 2018-01-09 | 北京奇安信科技有限公司 | 网站防护方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105912693A (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105912693B (zh) | 网络请求处理方法、网络数据获取方法、装置及服务器 | |
JP6062608B2 (ja) | ウェブページアクセス方法、装置、サーバ、端末、プログラム、及び記録媒体 | |
EP3561691B1 (en) | Method and apparatus for displaying webpage content | |
RU2604420C2 (ru) | Способ, устройство и терминал для обновления облегченных приложений в офлайновом режиме | |
CN106170004B (zh) | 处理验证码的方法及装置 | |
CN108833585B (zh) | 信息交互方法、装置及存储介质 | |
CN105930536B (zh) | 索引建立方法、页面跳转方法及装置 | |
CN107633172B (zh) | 一种恶意网页监测方法及电子设备 | |
US11122109B2 (en) | Method for sharing information, electronic device and non-transitory storage medium | |
CN109922098B (zh) | 一种内容分享方法、装置以及用于内容分享的装置 | |
CN112711723B (zh) | 一种恶意网址检测方法、装置及电子设备 | |
CN117390330A (zh) | 网页访问方法及装置 | |
CN107220059B (zh) | 应用界面的显示方法及装置 | |
CN111159615B (zh) | 网页处理方法和装置 | |
CN112463418A (zh) | 跨设备信息分享方法、装置、介质和电子设备 | |
CN104572230B (zh) | 脚本文件的加载方法、脚本文件生成方法及装置 | |
KR20210012870A (ko) | 정보 표시 방법, 장치, 프로그램 및 매체 | |
CN106960026B (zh) | 搜索方法、搜索引擎和电子设备 | |
CN110213062B (zh) | 处理消息的方法及装置 | |
CN111314426A (zh) | 网页资源获取方法、装置、电子设备及存储介质 | |
CN107241439B (zh) | H5页面的消息推送方法和装置 | |
JP6441385B2 (ja) | 情報入力方法、装置、プログラム及び記録媒体 | |
CN105868354B (zh) | 网页修复方法及装置 | |
EP3001660B1 (en) | Method, device and system for telephone interaction | |
CN109766501B (zh) | 爬虫协议管理方法及装置、爬虫系统 |
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 |