同样是焦糖招新题,是一个为了实现空气污染指数推送的python小程序
空气污染指数推送
思路
使用python完成主程序编写,用git送到服务器,使用cronjob进行定时任务。其中主程序编写的两个关键,一是AQI值的获取,二是pushbullet的使用。
开始
AQI值的获取
AQI的来源为,里面提供了它的api,并且给出了一个公用测试key。
在网上学习了api的使用方法后,下面就是进行程序的第一部分的编写。import requests
,然后使用接口。将数据存入一个列表。接下来可以对列表进行处理,这里纯粹看个人喜好和习惯。我是将列表转换为字符串,再对字符串进行处理。
处理前后的对比:
数据的处理
首先,在费了一些功夫之后发现这个获取到的json是一个list,里面存放了dict数据。
所以在推送的时候赋到一个str里面去,方便格式和内容的修改。
然后是有一个aqi的判定,大于150,或小于50有额外提示,这时候选择直接先取出(遍历)list,再用dict的操作方法取出aqi值,进行判断。
Pushbullet的使用
安装、登录
先在电脑、手机上安装pushbullet客户端,但是登录必须翻墙,登录google账号,这里不再赘述。登录完成后显示应该是这样的(我顺便安装了火狐的扩展,因为十分好用)。
Pushbullet API的使用
同样的,要使用pushbullet,必须用提供的api。进入pushbullet的官网,在Settings里下拉可以看到账号的Access Tokens。
然后我选择了python已有的PushBullet 库,在cmd里pip install pushbullet.py
,就可以使用pushbullet了。使用方法和上面的没什么大区别,只是从request变为了post(push)了。
接下来我自选加了一个获取时间的小程序,没什么好说的。
Github
接下来将程序push到github上方便服务器的编写。
服务器
安装
先总结一下上面用到的需要安装的库,已经接下来要用的。
- pushbullet
- request(似乎是已经自带了?还是我以前安装过)
将程序拉到服务器
使用github将上传的文件拉到本地,比如我选择拉到/usr/local/Air-Pollution-Monitor
。值得注意的是,如果想要先测试一下,需要在文件头标注#!/usr/bin/python3
,并且用chmod 755
给予权限。
cronjob的使用
输入crontab -e
,接下来选择编译器,我选择的是(3.)vi。然后开始输入任务,
比如我:
0 6,14,19 * * * /usr/local/Air-Pollution-Monitor/Air_Pollution_Monitor.py
理论上来说应该就可以使用了。
Comments | NOTHING