函数计算+云市场实现手机号归属地和图片爬虫系统设计

本文涉及的产品
简介: 本文通过两个无服务器的实用案例来演示无服务器架构的真正魅力,case1:通过函数计算+Http触发器+云市场三者结合起来,提供一个能查询手机号归属地天气预报,case2,通过输入指定的网站抓取图片的案例,这两个例子都不需要配置WEB容器、不需要搭建运行环境、不需要购买负载均衡,通过简单配置和业务代码即可完成一个高可用高弹性无服务器的应用服务。
很荣幸今天能邀请大家来参加阿里云2018年的MVP的动手实践活动,今天小编带着大家完成两个动手实践活动,通过两个简单实用的例子来演示无服务器架构的真正魅力,case1:通过函数计算+Http触发器+云市场三者结合起来,提供一个能查询手机号归属地天气预报,case2:通过输入指定的网站抓取图片的案例,这两个例子都不需要配置WEB容器、不需要搭建运行环境、不需要购买负载均衡,通过简单配置和业务代码就能完成一个高可用高弹性无服务器的应用服务。


Case1:获取手机号归属地+天气+空气质量的例子

下面我做一个简单的例子,把函数计算+API网关+云市场三者结合起来,提供一个能查询手机号归属地的服务,在这个框架里不需要配置WEB容器、不需要搭建运行环境、不需要购买负载均衡,通过配置和一段代码就能完成一个高扩容无服务器的应用服务提供出去。
f0fe2459c3d51966c59571c9be685aa605c522ab
流程说明:
1、客户通过浏览器发送Get请求
2、函数计算HTTP触发器会触发相应的函数执行
3、函数计算去拉取云市场的第三方厂商提供数据
4、函数计算对数据进行清洗和处理
5、返回给前端数据
在开始开始程序之前,我们需要进行如下几个步骤,首先先登陆阿里云控制台,:

云市场配置

1、免费开通获取手机号归属地服务, 点击链接,点击0元立即购买,详见下图
67367257b0d0483a91662eb7d21ba4c39d64fa6d
2、免费开通获查看天气情况, 点击链接,点击0元立即购买,详见下图
5f57f7da885c517493b3d0d2517a986c517ddd42
两个免费产品购买后,会在云市场控制台列表里显示如下两个服务,详见下图
973f55e56ffe7ffdf223088681de4f974d097b55

函数计算配置

在登陆函数计算控制台之前,请先免费开通函数计算,然后下载两个代码包 下载fc-mobile-code(手机号获取信息代码),下载fc-worm-code(图片爬虫程序代码),登陆函数计算控制台,选择华东2区域,
1)新建一个服务,如下图:
e81c4cd1e6e82eaaa1b82ba269d225b76674b37b
2)新建一个函数,选择空白模板,如下图:
c26f4e683fae1051a3be9f798689a9ab5a0435ab
3)新建一个http触发器,配置如下图,认证方式选anonymous方式,请求方式get和post请求
a356362ec7652627e8f385507f55644178a0d95a
4)进入函数配置页面,选择执行环境python2.7,选择代码上传方式,在上传文件中选择fc-mobile-code.zip文件
10612fdb6b9468009fa0b7bb050a7ab9902f02d3
5)查看配置清单,点击创建即可
191bfd46965addd565a3166eba6f12b530c4a3d7
6)进入函数的代码执行管理页面,分别把云市场控制台上两个应用获取归属地的appcode和获取天气预报的appcode分别替换程序里相应的的appcode,详见下图:
替换getMobile函数的appcode
d2945b0ca717f088b92000cdaf04ac91f2b4ed3b
替换getWeather里的appcode:
3cf981858a54b2c0641a6eef9118b1b414cd4015
7)开始调试程序,在调试框里,是属性里填写mobile,值填写成您自己的手机号,点击执行,看下面执行结果
配置属性和值
e832fc354921cb6c1c1760616b728276fa4ca511
查看执行结果,我们看到输入一个手机号码,得到了手机号码的归属地和运营商,同时根据归属地,查询出天气情况和空气质量,这个实验就运行成功。
87d0ce6718d4ebdfb2cb51edac30ac7a8f099981

Case2:输入URL地址获取网站图片的爬虫例子


日常工作中,我们经常会编写一段代码来抓取某个网站的全部资源,例如图片地址,视频地址,以及一些文本信息,这样的代码通常情况下需要用户搭建一个web应用服务器来执行,下面我们结合函数计算这个产品来完成这样一个无服务器架构的应用。
流程图如下:
077439a15c85b9ac7deaa85d807d27a4935758ca
流程说明:
1、客户通过浏览器发送目标网站
2、函数计算通过http触发器触发函数执行
3、函数去目标网站抓取图片地址
4、返回图片地址

函数计算配置

1)进入Case1例子里的服务,新建一个函数,选择空白模板
c26f4e683fae1051a3be9f798689a9ab5a0435ab
2)新建一个http触发器,配置如下图,认证方式选anonymous方式,请求方式get和post请求
a356362ec7652627e8f385507f55644178a0d95a
3)进入函数配置页面,选择执行环境python2.7,选择代码上传方式,在上传文件中选择fc-worm-code.zip文件
31e563d5426dd2daee9d07b1262fc938b2c961e7
4)点击下一步,再点击创建,进入代码执行界面
30a5ba30b42be0a2c56b7b7e102e4d82b06e8490
5)在http触发器调试框里,输入键:url,值:任意网站(https://www.aliyun.com),点击执行,查看结果,整个case执行完毕。
1093b674d61d6ad811b2c5afe4f3c63931949450

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
1月前
|
监控 Serverless 测试技术
Serverless 应用引擎常见问题之生成的图片的oss地址配成自定义的域名如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
25 0
|
1月前
|
数据采集 存储 Rust
Rust高级爬虫:如何利用Rust抓取精美图片
Rust高级爬虫:如何利用Rust抓取精美图片
|
4月前
|
数据采集 JavaScript 前端开发
加速数据采集:用OkHttp和Kotlin构建Amazon图片爬虫
曾想过轻松获取亚马逊上的商品图片用于项目或研究吗?是否曾面对网络速度慢或被网站反爬虫机制拦截而无法完成数据采集任务?如果是,那么本文将为您介绍如何用OkHttp和Kotlin构建一个高效的Amazon图片爬虫解决方案。
加速数据采集:用OkHttp和Kotlin构建Amazon图片爬虫
|
4月前
|
数据采集 安全 Java
Kotlin+Apache HttpClient+代理服务器=高效的eBay图片爬虫
本文将为你介绍一种高效的eBay图片爬虫的实现方式,让你可以用Kotlin+Apache HttpClient+代理服务器的组合来轻松地下载eBay的图片。
Kotlin+Apache HttpClient+代理服务器=高效的eBay图片爬虫
|
10月前
|
数据采集 Web App开发 存储
Java爬虫第五篇:使用selenium、Jsoup 抓取bing搜索图片
Java爬虫第五篇:使用selenium、Jsoup 抓取bing搜索图片
217 0
|
10月前
|
数据采集 Web App开发 存储
Java爬虫第四篇:使用selenium、Jsoup 抓取图片
Java爬虫第四篇:使用selenium、Jsoup 抓取图片
270 0
|
4月前
|
Serverless
函数计算FC图生图中,刚生成的图片,在Image Browse不能查看,是什么原因吖?
函数计算FC图生图中,刚生成的图片,在Image Browse不能查看,是什么原因吖?
30 1
|
11月前
|
数据采集 存储 机器人
网络爬虫的入门及爬取图片,文章,音频
>持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第22天,[点击查看活动详情](https://juejin.cn/post/7147654075599978532 "https://juejin.cn/post/7147654075599978532") # 引言 今天带来一篇python的网络爬虫 # 网络爬虫的介绍 > 网络爬虫(又称为网页蜘蛛,[网络](https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C/143243?fromModule=lemma_inlink)机器人,在[FOAF](https://bai
|
Serverless Go 开发工具
serverless 实践 | 5 步!用阿里云 Serverless 搭建高质量的图片压缩工具
serverless 实践 | 5 步!用阿里云 Serverless 搭建高质量的图片压缩工具
263 0
serverless 实践 | 5 步!用阿里云 Serverless 搭建高质量的图片压缩工具
|
存储 JSON 缓存
用手机写代码:基于Serverless的在线编程能力探索(下)
但是,无论是那种类型,其背后的核心模块“代码执行器”/“判题机”等,都是值得被关注的。一方面,这类网站通常情况下都需要比要严格的“安全考虑”,例如程序会不会有恶意代码,出现死循环、破坏计算机系统等,程序是否需要隔离运行,运行时是否会获取到其他人提交的代码等;另一方面,这类平台通常情况下都会对资源消耗比较大,尤其是比赛来临时,更是需要突然间对相关机器进行扩容,必要时需要大规模集群来进行应对。同时这类网站通常情况下也都有一个比较大的特点,那就是触发式,即每个代码执行前后实际上并没有非常紧密的前后文关系等。
91 0