前面的文章讲述了如何爬取到各种数据(例如:top10系列),如果这些数据能以标准API的方式共享出来,则大大提升数据使用的效率. 于是有了利用AWS EC2主机构建Web API的想法.
步骤
1. EC2 启动http service
EC2默认没有安装http service. 首先利用'sudo yum install httpd'安装httpd, 再用'sudo service httpd restart' 启动http service. 如果你用的不是AMI image,安装方法会有差异,请自行Google确保http service启动成功.
![](https://img.haomeiwen.com/i1491836/770853698a7e10db.png)
2. httpd 安装mod_wsgi
数据爬取用的是Python,服务器后端想到的自然是用Python写的flask framework (flask官网)
连接httpd与flask的关键组件是mod_wsgi,同样AMI image默认没有安装,运行'sudo yum install mod_wsgi'安装.
接下来是配置httpd.conf,编写app.wsgi文件,让三者连接起来正常运行.
![](https://img.haomeiwen.com/i1491836/a0135188e2396225.png)
![](https://img.haomeiwen.com/i1491836/b6e54dfa72674916.png)
3. 创建flask application
![](https://img.haomeiwen.com/i1491836/385ada83a332b564.png)
![](https://img.haomeiwen.com/i1491836/0448f5c4c4523969.png)
4. JSON data
JSON已逐渐成为事实上的标准,flask framework也提供了API将各种Python数据结构转换成JSON format. 因此这些Web APIs提供JSON data
5. 我的运行结果
![](https://img.haomeiwen.com/i1491836/b6c88623c95028f1.png)
![](https://img.haomeiwen.com/i1491836/3b9c2d00d12d8aba.png)
![](https://img.haomeiwen.com/i1491836/28309704b1ea38c2.png)
![](https://img.haomeiwen.com/i1491836/9d361cebf10682bf.png)
网友评论