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

 更新时间:2016年01月19日 08:57:07   投稿:hebedich  
这篇文章主要介绍了python结合API实现即时天气信息的代码,非常的实用,有需要的小伙伴可以参考下。

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中用pyinstaller打包时的图标问题及解决方法

    Python中用pyinstaller打包时的图标问题及解决方法

    这篇文章主要介绍了python中用pyinstaller打包时的图标问题及解决方法,本文从两方面给大家分析原因所在,通过截图实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2020-02-02
  • Python深度学习实战PyQt5信号与槽的连接

    Python深度学习实战PyQt5信号与槽的连接

    本文讲解信号与槽的连接机制,详细示范各种类型的信号/槽连接的实现方法,这是图形用户界面的核心内容。还将介绍面向对象的程序设计,这是图形用户界面的基本思想
    2021-10-10
  • python登录WeChat 实现自动回复实例详解

    python登录WeChat 实现自动回复实例详解

    在本篇内容里小编给大家整理的是关于python登录WeChat 实现自动回复的相关实例内容以及知识点总结,有兴趣的朋友们参考下。
    2019-05-05
  • python使用wmi模块获取windows下硬盘信息的方法

    python使用wmi模块获取windows下硬盘信息的方法

    这篇文章主要介绍了python使用wmi模块获取windows下硬盘信息的方法,涉及Python获取系统硬件信息的相关技巧,需要的朋友可以参考下
    2015-05-05
  • python3中@dataclass的实现示例

    python3中@dataclass的实现示例

    @dataclass 是 Python 3.7 引入的一个装饰器,用于方便地定义符合数据类协议的类,本文主要介绍了python3中@dataclass的实现示例,感兴趣的可以了解一下
    2024-02-02
  • Python使用SQLAlchemy模块实现操作数据库

    Python使用SQLAlchemy模块实现操作数据库

    SQLAlchemy 是用Python编程语言开发的一个开源项目,它提供了SQL工具包和ORM对象关系映射工具,使用SQLAlchemy可以实现高效和高性能的数据库访问,下面我们就来学习一下SQLAlchemy模块的具体应用吧
    2023-11-11
  • python中argparse模块用法实例详解

    python中argparse模块用法实例详解

    这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下
    2015-06-06
  • python itertools包内置无限迭代器

    python itertools包内置无限迭代器

    这篇文章主要介绍了python itertools包内置无限迭代器, Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数,itertools提供的几个“无限”迭代器。下文更多相关内容,需要的朋友可以参考一下
    2022-03-03
  • 基于OpenCv实现的人脸识别(附Python完整代码)

    基于OpenCv实现的人脸识别(附Python完整代码)

    人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术,下面这篇文章主要给大家介绍了关于如何基于OpenCv实现的人脸识别,文中还附Python完整代码,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Python开源自动化工具Playwright安装及介绍使用

    Python开源自动化工具Playwright安装及介绍使用

    playwright-python是一个强大的Python库,仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作,本文就详细的介绍一下如何使用,感兴趣的可以了解一下
    2021-12-12

最新评论