The invention provides a page rendering method and device, which includes: judging whether the page access request obtained is a crawler by reverse proxy tool, executing the next step if it is; sending instructions in page loading to reverse proxy tool through Nodejs service, rendering the original page according to preset script, and obtaining isomorphic pages; and reverse generation through Nodejs service. The tool sends page loading instructions and homogeneous pages to complete crawler operation and page display. The invention renders the original page in advance before executing the crawler, so that the crawler can grab the rendered isomorphic page and solve the problem of SEO existing in the traditional front-end rendering.
【技术实现步骤摘要】
一种页面渲染方法及装置
本专利技术涉及页面渲染
,尤其涉及一种页面渲染方法及装置。
技术介绍
随着计算机技术的蓬勃发展,用户与客户端之间的交互也随之增多,用户访问页面的需求量也日益上升。目前,页面渲染的方式通常有后端渲染和前端渲染两种主要方式,在前端渲染中,前端在捕捉用户的页面访问请求后,通常会从后端获取相应的内容然后对原始页面进行渲染,然而,在对原始页面进行渲染之前,前端会对原始页面进行爬虫即直接抓取原始页面,无法等待前端渲染完成,导致前端渲染完成的页面无法被抓取。
技术实现思路
本专利技术实施例提供了一种页面渲染方法及装置,可以在直出同构页面的同时,完成对同构页面的爬虫。根据本专利技术的一个方面,提供一种页面渲染方法,包括:通过反向代理工具判断获取到的页面访问请求是否为爬虫,若是,则执行下一步;通过Nodejs服务向所述反向代理工具发送页面加载中指令,根据预置脚本对原始页面进行渲染,得到同构页面;通过Nodejs服务向所述反向代理工具发送页面加载完成指令和所述同构页面,以完成爬虫操作和页面显示。优选地,所述通过Nodejs服务向所述反向代理工具发送页面加载中指令,根据预置脚本对原始页面进行渲染,得到同构页面具体为:通过Nodejs服务向所述反向代理工具发送页面加载中指令,确定与所述页面访问请求对应的预置脚本,调用Headless执行所述预置脚本完成对原始页面的渲染,得到同构页面。优选地,所述通过Nodejs服务向所述反向代理工具发送页面加载中指令,确定与所述页面访问请求对应的预置脚本,调用Headless执行所述预置脚本完成对原始页面的渲染,得到同构 ...
【技术保护点】
1.一种页面渲染方法,其特征在于,包括:通过反向代理工具判断获取到的页面访问请求是否为爬虫,若是,则执行下一步;通过Nodejs服务向所述反向代理工具发送页面加载中指令,根据预置脚本对原始页面进行渲染,得到同构页面;通过Nodejs服务向所述反向代理工具发送页面加载完成指令和所述同构页面,以完成爬虫操作和页面显示。
【技术特征摘要】
1.一种页面渲染方法,其特征在于,包括:通过反向代理工具判断获取到的页面访问请求是否为爬虫,若是,则执行下一步;通过Nodejs服务向所述反向代理工具发送页面加载中指令,根据预置脚本对原始页面进行渲染,得到同构页面;通过Nodejs服务向所述反向代理工具发送页面加载完成指令和所述同构页面,以完成爬虫操作和页面显示。2.根据权利要求1所述的页面渲染方法,其特征在于,所述通过Nodejs服务向所述反向代理工具发送页面加载中指令,根据预置脚本对原始页面进行渲染,得到同构页面具体为:通过Nodejs服务向所述反向代理工具发送页面加载中指令,确定与所述页面访问请求对应的预置脚本,调用Headless执行所述预置脚本完成对原始页面的渲染,得到同构页面。3.根据权利要求2所述的页面渲染方法,其特征在于,所述通过Nodejs服务向所述反向代理工具发送页面加载中指令,确定与所述页面访问请求对应的预置脚本,调用Headless执行所述预置脚本完成对原始页面的渲染,得到同构页面具体为:通过Nodejs服务调用Chrome内核访问原始页面,判断所述页面访问请求的业务类型,若为静态业务,则确定与所述页面访问请求对应的预置脚本,调用Headless执行所述预置脚本完成对原始页面的渲染,得到同构页面,若为延迟业务,则在等待相应的延迟时间后,确定与所述页面访问请求对应的预置脚本,调用Headless执行所述预置脚本完成对原始页面的渲染,得到同构页面。4.根据权利要求3所述的页面渲染方法,其特征在于,所述预置脚本为JavaScript脚本。5.根据权利要求1所述的页面渲染方法,其特征在于,所述通过Nodejs服务向所述反向代理工具发送页面加载中指令,根据预置脚本对原始页面进行渲染,得到同构页面...
【专利技术属性】
技术研发人员:许宏斌,
申请(专利权)人:广州华多网络科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。