Python实现从百度API获取天气的方法


Posted in Python onMarch 11, 2015

本文实例讲述了Python实现从百度API获取天气的方法。分享给大家供大家参考。具体实现方法如下:

__author__ = 'saint'

import os

import urllib.request

import urllib.parse

import json

class weather(object):

    # 获取城市代码的uri

    code_uri = "http://apistore.baidu.com/microservice/cityinfo?cityname="

    # 获取天气信息的uri

    weather_uri = "http://apistore.baidu.com/microservice/weather?cityid="

    # 主处理逻辑

    def mainHandle(self):

        print("输入你要查询的天气:")

        city_name = input()

        uri = self.code_uri + urllib.parse.quote(city_name)

        ret = json.loads(urllib.request.urlopen(uri).read().decode("utf8"))

        if ret['errNum'] != 0:

            print(ret['retMsg'])

            return False

        else:

            weather_uri = self.weather_uri + ret['retData']['cityCode']

            data = json.loads(urllib.request.urlopen(weather_uri).read().decode("utf8"))

            if data['errNum'] == 0:

                ret_data = data['retData']

                output = "城市名:" + city_name + "\r\n"

                output += "更新时间:" + ret_data["date"] + " " + ret_data["time"] + "\r\n"

                output += "天气:" + ret_data["weather"] + " [" + ret_data["WD"] + ret_data["WS"] + "]\r\n"

                output += "当前温度:" + ret_data["temp"] + " (" + ret_data["h_tmp"] + " ---> " + ret_data["l_tmp"] + ")\r\n"

                print(output)

                return True

            else:

                print(data['errMsg'])

                return False

if __name__ == "__main__":

    weather = weather()

    weather.mainHandle()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python实现网站文件的全备份和差异备份
Nov 30 Python
Python列表append和+的区别浅析
Feb 02 Python
在Python中使用__slots__方法的详细教程
Apr 28 Python
Python实现定时任务
Feb 08 Python
Python 多维List创建的问题小结
Jan 18 Python
在Python 中实现图片加框和加字的方法
Jan 26 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
Sep 25 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
Feb 07 Python
Python利用PyPDF2库获取PDF文件总页码实例
Apr 03 Python
scrapy在python爬虫中搭建出错的解决方法
Nov 22 Python
Python结合百度语音识别实现实时翻译软件的实现
Jan 18 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
Mar 25 Python
Python计算回文数的方法
Mar 11 #Python
Python用GET方法上传文件
Mar 10 #Python
Python爬取读者并制作成PDF
Mar 10 #Python
Python生成随机MAC地址
Mar 10 #Python
Python中实现结构相似的函数调用方法
Mar 10 #Python
Python实现CET查分的方法
Mar 10 #Python
Python实现的批量下载RFC文档
Mar 10 #Python
You might like
用PHP实现Ftp用户的在线管理
2012/02/16 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
PHP获取本周第一天和最后一天示例代码
2014/02/24 PHP
PHP生成压缩文件实例
2015/02/07 PHP
是 WordPress 让 PHP 更流行了 而不是框架
2016/02/03 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
django使用channels2.x实现实时通讯
2018/11/28 Javascript
JS中比较两个Object数组是否相等方法实例
2019/11/11 Javascript
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
Python中title()方法的使用简介
2015/05/20 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
Python如何发布程序的详细教程
2018/10/09 Python
python+os根据文件名自动生成文本
2019/03/21 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
Python中的__init__作用是什么
2020/06/09 Python
HTML5的标签的代码的简单介绍 HTML5标签的简介
2012/05/28 HTML / CSS
深入浅析HTML5中的SVG
2015/11/27 HTML / CSS
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
同程旅游英文网站:LY.com
2018/11/13 全球购物
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
群胜软件Java笔试题
2012/09/29 面试题
VC++笔试题
2014/10/13 面试题
网络工程系信息安全技术专业大学生求职信
2013/10/22 职场文书
测绘工程专业个人自我评价
2013/12/01 职场文书
道路交通安全实施方案
2014/03/12 职场文书
企业节能减排实施方案
2014/03/19 职场文书
计算机相关专业自荐信
2014/07/02 职场文书