获取上海地区AQI质量数据Python脚本
一个获取上海地区AQI质量的Python脚本
https://github.com/Teaing/Raspberrypi/blob/master/GetPmData_Shanghai.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Author:Tea import time
import sys
import json
import random
import requests
reload(sys)
sys.setdefaultencoding('utf8') def main():
Get_PmData() def Convert_Des_Text(aqi_data):
if aqi_data:
Pm_Tag = {'0':u'优',
'1':u'良',
'2':u'轻度污染',
'3':u'中度污染',
'4':u'重度污染',
'5':u'严重污染',
'6':u'数据不正常'}
if (aqi_data >= 0 and aqi_data <= 50):
Tmp_tag = Pm_Tag['0']
elif (aqi_data >= 51 and aqi_data <= 100):
Tmp_tag = Pm_Tag['1']
elif (aqi_data >= 101 and aqi_data <= 150):
Tmp_tag = Pm_Tag['2']
elif (aqi_data >= 151 and aqi_data <= 200):
Tmp_tag = Pm_Tag['3']
elif (aqi_data >= 201 and aqi_data <= 300):
Tmp_tag = Pm_Tag['4']
elif (aqi_data >= 300):
Tmp_tag = Pm_Tag['5']
else:
Tmp_tag = Pm_Tag['6']
return Tmp_tag def Get_PmData():
try:
Pm_Json_Data = Get_AmericanEmbassy_PmData()
Convert_AmericanEmbassy_Data(Pm_Json_Data)
except:
Pm_Json_Data = Get_China_PmData()
Convert_China_Data(Pm_Json_Data) def Get_China_PmData():
City_list = {'0':'beijing','1': 'shanghai'}
Req_City = City_list['1']
Req_Token = '5j1znBVAsnSf5xQyNQyq'
Req_Ip = ''.join([random.randint(1,254).__str__(),'.',random.randint(1,254).__str__(),'.',random.randint(1,254).__str__(),'.',random.randint(1,254).__str__()])
Req_Url = ''.join(['http://www.pm25.in/api/querys/pm2_5.json?city=',Req_City,'&token=',Req_Token])
Req_headers = {'content-type': 'application/json',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0',
'X-Forwarded-For': Req_Ip}
Request_Result = requests.get(Req_Url,headers=Req_headers)
Request_Code = Request_Result.status_code
Request_Content = Request_Result.text
return Request_Content def Convert_China_Data(json_data):
if json_data:
Load_Json_Data = json.loads(json_data)
Check_Site_Length = Load_Json_Data.__len__()
print Load_Json_Data[0]["time_point"]
for i in xrange(Check_Site_Length):
Pm_Tag_Data = int(Load_Json_Data[i]["aqi"])
Tmp_tag = Convert_Des_Text(Pm_Tag_Data)
print Load_Json_Data[i]["position_name"],u'AQI:',Load_Json_Data[i]["aqi"],Tmp_tag def Get_AmericanEmbassy_PmData():
City_list = {'0':'Beijing','1': 'Shanghai'}
Req_City = City_list['1']
Req_Stime = int(round(time.time() * 1000)).__str__()
Req_Ip = ''.join([random.randint(1,254).__str__(),'.',random.randint(1,254).__str__(),'.',random.randint(1,254).__str__(),'.',random.randint(1,254).__str__()])
Req_Url = ''.join(['http://aqicn.org/aqicn/json/android/',Req_City,'/json?',Req_Stime])
Req_headers = {'content-type': 'application/json',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0',
'X-Forwarded-For': Req_Ip}
Request_Result = requests.get(Req_Url,headers=Req_headers)
Request_Code = Request_Result.status_code
Request_Content = Request_Result.text
return Request_Content def Convert_AmericanEmbassy_Data(json_data):
if json_data:
Load_Json_Data = json.loads(json_data)
#print Load_Json_Data["nearest"][0]["pol"]
print u'时间:',time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(Load_Json_Data["time"])),u'AQI:',Load_Json_Data["aqi"]
Check_Site_Length = Load_Json_Data["nearest"].__len__()
for i in xrange(Check_Site_Length):
Pm_Tag_Data = int(Load_Json_Data["nearest"][i]["v"])
Tmp_tag = Convert_Des_Text(Pm_Tag_Data)
print Load_Json_Data["nearest"][i]["nna"],Load_Json_Data["nearest"][i]["v"],Tmp_tag if __name__ == '__main__':
main()

获取上海地区AQI质量数据Python脚本的更多相关文章
- python脚本监控股票价格钉钉推送
关注股市,发家致富 问题:一天天盯着股市多累,尤其上班,还不能暴露,股票软件,红红绿绿,这么明显的列表页面,一看就知道在摸鱼.被领导发现饭碗就没了 解决:搞个脚本监听一下自己关注的股票,一到价格就发个 ...
- python 全栈开发,Day94(Promise,箭头函数,Django REST framework,生成json数据三种方式,serializers,Postman使用,外部python脚本调用django)
昨日内容回顾 1. 内容回顾 1. VueX VueX分三部分 1. state 2. mutations 3. actions 存放数据 修改数据的唯一方式 异步操作 修改state中数据的步骤: ...
- 除了binlog2sql工具外,使用python脚本闪回数据(数据库误操作)
利用binlog日志恢复数据库误操作数据 在人工手动进行一些数据库写操作的时候(比方说数据修改),尤其是一些不可控的批量更新或删除,通常都建议备份后操作.不过不怕万一,就怕一万,有备无患总是好的.在线 ...
- 【转】用python比对数据库表数据的脚本
最近在做一个数据库异构复制的项目,客户表示需要一个数据比对的工具,我就自己写了一个异构数据库的比对python脚本.这个比对脚本只能比对数量,不能比对具体的记录.使用的sql语句也是最基础的selec ...
- php外挂python脚本抓取ajax数据
之前我写过一遍php外挂python脚本处理视频的文章.今天和大家分享下php外挂python实现输入关键字搜索的脚本 首先我们先来分析一波网站: http://www.dzdpw.com/s.php ...
- 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本
摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ...
- Python脚本控制的WebDriver 常用操作 <十九> 获取测试对象的状态
下面将使用webdriver来模拟测试中观察测试对象的状态的操作 测试用例场景 在web自动化测试中,我们需要获取测试对象的四种状态 是否显示.使用element.is_displayed()方法: ...
- Python脚本控制的WebDriver 常用操作 <十七> 获取测试对象的属性及内容
测试用例场景 获取测试对象的内容是前端自动化测试里一定会使用到的技术.比如我们要判断页面上是否显示了一个提示,那么我们就需要找到这个提示对象,然后获取其中的文字,再跟我们的预期进行比较.在webdri ...
- Delphi中使用python脚本读取Excel数据
Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...
随机推荐
- xargs 参数
hadoop fs -ls /source/recommend/at_access | awk -F "/" '{print $NF}' | grep -v $(date +%Y% ...
- python-selenium实现的简易下载器,并常见错误解决
简易下载器的实现 支持代理.失败重试.确保包含指定ID元素(可根据需求自定义修改) # coding: utf-8 from Utils import logging from bs4 import ...
- 【转】JavaScript对Json节点的增删改
var json = { "age":24, "name":"cst" }; //修改Json中的age值,因为Json中存在age属性 j ...
- Python入门基础教程(儿童版) [分享一本入门级教程]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1. 推荐书名 No Starch--Python for ...
- scrollview中停止滚动的监听
[补充]可以在主线程控制,特别注意 scrollView3.postDelayed(new Runnable() { @Override public void run() { scrollView3 ...
- iOS开发UI篇-懒加载、重写setter方法赋值
一.懒加载 1.懒加载定义 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再 ...
- Gson解析json数据(转)
一. www.json.org这是JSON的官方网站. 首先,我,我们需要在code.google.com/p/google-gson/downloads/list下载JSON的jar包,解析后把gs ...
- 使用搬瓦工搭建javaweb环境
/* 本文是基于搬瓦工vps的centos-6-x86_64的Linux系统搭建. 需准备的工具:1.putty(用于连接Linux系统) 2.WinSCP(搬瓦工官方提供的ftp上传下载工 ...
- ASP.NET 日志
ASP.NET5已经内建集成了日志系统,你也可以用第三方的日志框架. 1. 在你的应用程序中实现日志 在Startup.cs文件中,在Configure里可以把ILoggerFactory注入进去,然 ...
- Cognos开发报表如何隐藏列
情景:当报表必须用到一列的存在,但是不需要显示该列的时候,我们就需要隐藏该列了,所有对象. 如何隐藏呢? 步骤1:选择要隐藏列的列标题和列正文两个部分 步骤2:分别找到左侧属性的条件样式,新建条件样式 ...