Py:利用pickle模块和API天气接口实现输入城市得到该城市的天气预报

简介: Py:利用pickle模块和API天气接口实现输入城市得到该城市的天气预报

输出结果

https://img-blog.csdn.net/20180310232620309?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfNDExODU4Njg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70


实现代码

# -*- coding: utf-8 -*-

'''

Created on 2017年3月10日

@author: niu

'''

import urllib.request

import json

import pickle

pickle_file=open("city_data.pkl","rb")

city=pickle.load(pickle_file)

cityname = input("你想查询那个城市的天气?")  

citycode=""  

 

try:  

   citycode =city[cityname]  

except:  

   print ("not Found")  

if citycode:  

   try:  

       url= "http://www.weather.com.cn/data/cityinfo/"+citycode+".html"#构造网址  

       content = urllib.request.urlopen(url).read()#读取网页源代码  

       data =json.loads(content)#使用json库将字符转化为字典  

       #print type(data)  

       #print (content)  

       res =data["weatherinfo"]#获取字典  

       str_temp=("%s :%s~%s")%(res["weather"],res["temp1"],res["temp2"])#格式化字符  

       print (str_temp)#输出天气信息  

   except:  

       print ("Not Found!!" )


相关文章
|
5月前
|
JSON JavaScript 前端开发
免费实时天气预报api接口
免费实时天气预报api接口
825 0
|
5月前
|
存储 API
使用Webpack的module.hot API来定义模块的热替换
使用Webpack的`module.hot` API实现模块热替换,简单示例展示如何在`myModule`变化时执行回调。`module.hot.accept`接收模块路径和回调函数,当模块或其依赖变更时触发回调,用于执行更新逻辑。可通过`module.hot.data`保存和恢复状态以实现热替换时保持应用程序的状态。
|
2月前
|
前端开发 API 网络架构
【Azure 应用服务】能否通过 Authentication 模块配置 Azure AD 保护 API 应用?
【Azure 应用服务】能否通过 Authentication 模块配置 Azure AD 保护 API 应用?
|
2月前
|
缓存 JavaScript 前端开发
为开源项目 go-gin-api 增加 WebSocket 模块
为开源项目 go-gin-api 增加 WebSocket 模块
33 2
|
2月前
|
Kubernetes 监控 API
在k8S中,各模块如何与API Server进行通信的?
在k8S中,各模块如何与API Server进行通信的?
|
3月前
|
JSON API 数据格式
App Inventor 2 天气预报App开发 - 第三方API接入的通用方法
通过调用第三方天气api,填入必要的参数,通过Web客户端请求url。返回json格式的数据结果,使用AppInventor2解析json结果,显示到App上即可。
119 5
VRTK4⭐三.射线传送模块 [包含API传送]
VRTK4⭐三.射线传送模块 [包含API传送]
|
2月前
|
消息中间件 关系型数据库 MySQL
为开源项目 go-gin-api 增加后台任务模块
为开源项目 go-gin-api 增加后台任务模块
23 0
|
4月前
|
XML JSON 程序员
程序员必知:常用天气预报API接口整理(转)
程序员必知:常用天气预报API接口整理(转)
134 0
|
12月前
|
Java API Spring
【异常】Feign 调用api模块直接进入fallback的问题解决办法
【异常】Feign 调用api模块直接进入fallback的问题解决办法
242 0