python结合API实现即时天气信息


Posted in Python onJanuary 19, 2016

python结合API实现即时天气信息

import urllib.request
import urllib.parse
import json
 
"""
 利用“最美天气”抓取即时天气情况
 http://www.zuimeitianqi.com/
 
"""
class ZuiMei():
 def __init__(self):
  self.url = 'http://www.zuimeitianqi.com/zuimei/queryWeather'
  self.headers = {}
  self.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36'
  # 部分城市的id信息
  self.cities = {}
  self.cities['成都'] ='01012703'
  self.cities['杭州'] = '01013401'
  self.cities['深圳'] = '01010715'
  self.cities['广州'] = '01010704'
  self.cities['上海'] = '01012601'
  self.cities['北京'] = '01010101'
  # Form Data
  self.data = {}
  self.city = '北京'
  
 def query(self,city='北京'):
  if city not in self.cities:
   print('暂时不支持当前城市')
   return
  self.city = city
  data = urllib.parse.urlencode({'cityCode':self.cities[self.city]}).encode('utf-8')
  req = urllib.request.Request(self.url,data,self.headers)
  response = urllib.request.urlopen(req)
 
  html = response.read().decode('utf-8')
  # 解析json数据并打印结果
  self.json_parse(html)
 
 def json_parse(self,html):
  target = json.loads(html)
  high_temp = target['data'][0]['actual']['high']
  low_temp = target['data'][0]['actual']['low']
  current_temp = target['data'][0]['actual']['tmp']
  today_wea = target['data'][0]['actual']['wea']
  air_desc = target['data'][0]['actual']['desc']
  # 上海 6~-2°C 现在温度 1°C 湿度:53 空气质量不好,注意防霾。 
  print('%s: %s~%s°C 现在温度 %s°C 湿度:%s %s'%(self.city,high_temp,low_temp,current_temp,today_wea,air_desc))

if __name__ == '__main__':
 zuimei = ZuiMei()
 zuimei.query('广州')

效果演示:

python结合API实现即时天气信息

Python 相关文章推荐
简单的抓取淘宝图片的Python爬虫
Dec 25 Python
python解决方案:WindowsError: [Error 2]
Aug 28 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
Nov 30 Python
python操作小程序云数据库实现简单的增删改查功能
Jun 06 Python
python基于递归解决背包问题详解
Jul 03 Python
Python 如何提高元组的可读性
Aug 26 Python
python matplotlib饼状图参数及用法解析
Nov 04 Python
Python IDLE或shell中切换路径的操作
Mar 09 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
May 09 Python
PyQt5实现画布小程序
May 30 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
python3中for循环踩过的坑记录
Dec 14 Python
Python+django实现文件下载
Jan 17 #Python
Python+django实现文件上传
Jan 17 #Python
初步剖析C语言编程中的结构体
Jan 16 #Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
Jan 16 #Python
python实现发送和获取手机短信验证码
Jan 15 #Python
详解python单例模式与metaclass
Jan 15 #Python
理解python正则表达式
Jan 15 #Python
You might like
通过具体程序来理解PHP里面的抽象类
2010/01/28 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
教你如何使用php session
2013/10/28 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
完美的php分页类
2017/10/24 PHP
javascript处理table表格的代码
2010/12/06 Javascript
javaScript面向对象继承方法经典实现
2013/08/20 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
将数字转换成大写的人民币表达式的js函数
2014/09/21 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
2018/05/16 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
Python中偏函数用法示例
2018/06/07 Python
python3实现磁盘空间监控
2018/06/21 Python
python BeautifulSoup库的安装与使用
2020/12/17 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
应届大学生自荐信格式
2013/09/21 职场文书
努力学习演讲稿
2014/05/10 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
无工作证明怎么写
2015/06/15 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP
SQL SERVER存储过程用法详解
2022/02/24 SQL Server