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打印scrapy蜘蛛抓取树结构的方法
Apr 08 Python
python将文本转换成图片输出的方法
Apr 28 Python
python实现数值积分的Simpson方法实例分析
Jun 05 Python
浅谈Python实现Apriori算法介绍
Dec 20 Python
单链表反转python实现代码示例
Feb 08 Python
Python交互环境下实现输入代码
Jun 22 Python
Python高级编程之继承问题详解(super与mro)
Nov 19 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
Jan 21 Python
python实现拼接图片
Mar 23 Python
keras处理欠拟合和过拟合的实例讲解
May 25 Python
Scrapy项目实战之爬取某社区用户详情
Sep 17 Python
Python+Tkinter打造签名设计工具
Apr 01 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新手上路(五)
2006/10/09 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
js实现div模拟模态对话框展现URL内容
2016/05/27 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
用js实现before和after伪类的样式修改的示例代码
2017/09/07 Javascript
基于VUE.JS的移动端框架Mint UI的使用
2017/10/11 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
深入理解Node module模块
2018/03/26 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
python的变量与赋值详细分析
2017/11/08 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
如何让python的运行速度得到提升
2020/07/08 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
2021/01/08 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
医学生毕业自我鉴定
2014/03/26 职场文书
勾股定理课后反思
2014/04/26 职场文书
商务英语专业求职信
2014/06/26 职场文书
毕业证代领委托书
2014/09/26 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
2015年护士节慰问信
2015/03/23 职场文书
道歉信范文
2015/05/12 职场文书
2015教师个人德育工作总结
2015/07/22 职场文书
护理心得体会范文
2016/01/22 职场文书
Python包管理工具pip的15 个使用小技巧
2021/05/17 Python
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记