首先想要说一下,为什么要把云函数与API网关进行结合?
我们通常用云函数SCF写一个函数应用,这个函数应用可能多种多样,例如之前介绍的包括OJ系统的判题功能、通过NLP实现文本摘要功能......那么,怎么把这些功能简单快速的结合到实际项目中,尤其是Web项目中呢?本文通过一个简单的小例子实现云函数SCF与API网关的结合,算作抛砖引玉,希望大家在自己的Web项目中,可以通过SCF+API网关实现更多功能。
任务说明
通过SCF编写一个两个爬虫程序,分别是通过IP地址获得IP归属地信息、通过地址获得天气预报信息等。通过API网关作为触发器,实现一个简单的对外接口。
该功能主要作用是作为网站的一个接口,保证用户访问网站时,可以在适当的位置看到今天本地区的天气信息。
任务流程
爬虫实现
爬虫1实现:获得IP地址
通过百度搜索IP地址,可以看到这样一个小工具:
通过输入IP地址,点击查询可以获得到地址信息。通过抓包可以获得API:
https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=113.57.215.184&co=&resource_id=6006&t=1559922221313&ie=utf8&oe=gbk&cb=op_aladdin_callback&format=json&tn=baidu&cb=jQuery110205516131051897397_1559921486295&_=1559921486372
结果如下:
对地址进行简化:
https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=113.57.215.184&resource_id=6006&format=json
简化后结果成为Json形式:
编写Python代码实现:
import