【静态化平台】☞( 一)网页静态化服务

简介: #一、应用场景 当我们需要对网页做以下操作时,可以使用本平台O(∩_∩)O~ ###1.抓取网页源代码,包括网页js动态渲染之后的内容,100%还原网页的所见即所得 在抓取的网页源代码的时候,遇到ajax异步渲染到dom节点,这样读取网页源码就会缺失这些异步渲染的数据。传统做法单独

一、应用场景

当我们需要对网页做以下操作时,可以使用本平台O(∩_∩)O~

1.抓取网页源代码,包括网页js动态渲染之后的内容,100%还原网页的所见即所得

在抓取的网页源代码的时候,遇到ajax异步渲染到dom节点,这样读取网页源码就会缺失这些异步渲染的数据。传统做法单独请求ajax的http请求获取json数据,但是如果这些json数据在页面上通过js做了改变,最终呈现到页面的数据不是你想要的,还是不能解决我们的问题。

2.抓取下拉后加载的数据

在移动端浏览网页或app时候,经常会遇到下拉加载数据。每当网页的高度到底的时候,会自动触发ajax加载新数据,拼接到最后如此重复。如果我们需要抓取这种下拉后完整的网页,传统做法是发送许多ajax来请求下拉数据,然后再手动的拼接这些数据还原网页。这么做涉及到大量的代码逻辑,太慢。。。

3.网页截图

批量对网页内容截图,生成网页快照图片。

4.模拟操作网页

对第三方网站自动点击,可以完全模拟真实用户操作。

5.自动采集app数据

自动登陆后,采集app的数据。这里只是针对h5的app。native的不能自动,需要写代码。

6.在线清洗数据,并将清洗后的数据直接同步MaxCompute。

用户在线编辑自定义js脚本,处理抓取到的数据,将处理后的结果同步MaxCompute。可以使用cheerio(和jquery用法基本一致)来获取dom节点数据。

二、实现原理

1.nodejs数据接入层接受到请求后将数据缓存到redis集群中,redis采用队列存储。采用redis缓存主要解决单点问题。

2.nodejs定时从redis队列中拉取数据交给phantomjs进程池处理,每次拉取的数量不超过phantomjs进程池设置的最大缓存数目前是500。最多并发启动18个phantomjs进程(cpu上限),保证phantomjs进程池中始终有任务处于等待状态,减少创建进程的开销。

3.phantomjs抓取到的数据放到redis缓存一份,1小时有效期。将结果数据发送用户提供的callbackUrl地址。

screenshot

三、接口介绍

1.网页静态化api

接口说明:需要静态化的地址,调用此接口可以将对应的url内容静态化。返回结果通过callback的方式主动调用callback地址。(数据缓存1小时有效,不必多次静态化相同的url)

接口地址:GET http://xxx

必须参数 1:fetchUrl (需要静态化的url , https://g.taobao.com

必须参数 2:callbackUrl (回调接收,静态化过程比较慢,因此采用异步接口,post方式发送到callbackUrl)

返回结果:html源代码

2.网页截图api

接口说明:打开网页自动截图,多屏会自动下拉到最底端。

接口地址:GET http://xxx

必须参数 1:fetchUrl (需要截图的网页 , https://g.taobao.com

返回结果:图片在线地址

3.模拟操作网页

接口说明:模拟浏览器操作,例如自动登录打卡等。。

接口地址:GET http://xxx

必须参数 1:js脚本

返回结果:操作log

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
10天前
|
缓存 前端开发 搜索推荐
如何优化前端性能:提升网页加载速度的5个技巧
在当今互联网时代,网页加载速度是用户体验和搜索引擎排名的关键因素之一。本文将介绍5个有效的技巧,帮助前端开发人员优化网页性能,提升用户体验。
|
3月前
|
缓存 前端开发 开发者
前端性能优化:提升网页加载速度的最佳实践
【2月更文挑战第8天】 在当今互联网时代,网页的加载速度直接影响着用户体验和网站的流量。本文将介绍前端性能优化的最佳实践,包括减少HTTP请求、压缩资源、使用CDN加速、懒加载等技术手段,帮助开发者提升网页加载速度,提升用户体验。
68 6
|
7天前
|
存储 前端开发 JavaScript
网页应用与开发
网页应用与开发
16 1
|
18天前
|
存储 前端开发 JavaScript
优化前端性能:提升网页加载速度的五种技巧
在当今互联网时代,网页加载速度是用户体验的关键因素之一。本文将介绍五种有效的技巧,帮助前端开发人员优化网页加载速度,提升用户体验。
|
20天前
|
缓存 监控 前端开发
优化前端性能:提升网页加载速度的10个技巧
在当今互联网时代,网页加载速度已成为用户体验和搜索引擎排名的重要因素。本文将介绍10个有效的技巧,帮助前端开发人员优化网页加载速度,提升用户体验和网站性能。
|
2月前
|
缓存 前端开发 JavaScript
前端性能优化:提升网页加载速度的关键技巧
【2月更文挑战第11天】 在当今互联网高速发展的时代,网页加载速度成为影响用户体验和网站成功的重要因素。本文将深入探讨前端性能优化的关键技巧,包括资源压缩、图片优化、HTTP缓存、代码精简等方面,为前端开发者提供实用的指导和建议。
|
7月前
|
XML 缓存 Java
58分布式电商项目 - 网页静态化技术
58分布式电商项目 - 网页静态化技术
22 0
|
存储 NoSQL 前端开发
4、页面静态化
Freemarker是一个用Java开发的模板引擎,用来生成输出文本的工具 模板+数据模型=输出
150 0
4、页面静态化
|
消息中间件 缓存 开发框架
网站页面静态化(一)初识
本文分析了网站静态化处理的优缺点,帮助你在做系统架构时做一个参考
303 0
|
Web App开发 缓存 搜索推荐
艾伟_转载:谈*静态页*(或网页*静态化*)
  “静态页”,在Web应用程序开发中是很常见的概念。只是我发现目前还是有相当部分的朋友,在这方面的存在一定的误区。因此现在独立写一篇文章,也想把一些问题讲讲清楚,以后在讨论的时候也好有个准。   不久前有朋友写了一篇题为《提供生成静态页核心代码》的文章,介绍了一种“向硬盘写入页面文件”的方式。
1014 0

热门文章

最新文章