获取上海地区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原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...
随机推荐
- poj2007
极角排序,其实是叉乘排序 #include <iostream> #include <algorithm> #include <math.h> #include & ...
- Windows环境下python多版本配置方案
系统环境 Windows,安装了msys2,windows和msys2都安装了python,且版本比较多,使用shell/bash聚合工具conemu64 配置方案 配置msys2环境用户目录下的.b ...
- 改写URL的查询字符串QUERY_STRING(转)
查询字符串是指URL请求中“问号”后面的部分.比如,http://www.nowamagic.net/?foo=bar中粗体部分就是查询字符串,其中变量名是foo,值是bar. 1. 利用QSA转换查 ...
- PHP 函数的“引用返回”概念释疑(转)
很多时候我们会看到这样的代码(出自 CI 框架源码): 1 $class =& load_class('a','b'); 我们都知道其中的'&'是指引用,但是它的作用是什么呢?它能够解 ...
- 在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别--转
其中,在地址栏按回车又分为两种情况.一是请求的URI在浏览器缓存中未过期,此时,使用Firefox的firebug插件在浏览器里显示的HTTP请求消息头如下: Host 192.168.3.17 ...
- WWDC心愿单:新版OS X或将有这些变化
每年的WWDC开发者大会上苹果都会展示最新的软件研发成果,在新一代MacBook Pro和MacBook Air笔记本到来之前,我们不妨来期待下新版OS X会有怎样的变化. Siri入驻Mac 此 ...
- Delpoyment assembly
遇见异常: java.lang.ClassNotFoundException: 原因:没有对tomcat进行依赖说明 解决: properties - Delpoyment assembly 将tom ...
- Centos ssh 登陆乱码解决办法
1.vi /etc/sysconfig/i18n 将内容改为 LANG="zh_CN.GB18030"LANGUAGE="zh_CN.GB18030:zh_CN.GB23 ...
- C#解leetcode 228. Summary Ranges Easy
Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...
- OD: Kernel Exploit - 2 Programming
本节接前方,对 exploitme.sys 进行利用. exploitme.sys 存在任意地址写任意内容的内核漏洞,现在采用执行 Ring0 Shellcode 的方式进行利用. 获取 HalDis ...