python实现自主查询实时天气


Posted in Python onJune 22, 2018

本文实例为大家分享了python实现自主查询实时天气的具体代码,供大家参考,具体内容如下

用到了urllib2 json  很简单的一个应用 如下

python实现自主查询实时天气

获取城市编号

#coding=utf-8 
import urllib2 
 
url1 = 'http://m.weather.com.cn/data3/city.xml' 
content1 = urllib2.urlopen(url1).read() 
provinces = content1.split(',') 
print content1 # 输出content1可以查看全部省份代码 
result = '' 
url = 'http://m.weather.com.cn/data3/city%s.xml' 
for p in provinces: 
  p_code = p.split('|')[0] 
  url2 = url % p_code 
  content2 = urllib2.urlopen(url2).read() # 输出content2可以查看此省份下所有城市代码 
  cities = content2.split(',') 
  print content2 
  for c in cities: 
    c_code = c.split('|')[0] 
    url3 = url % c_code 
    content3 = urllib2.urlopen(url3).read() 
    print content3 #content3是此城市下所有地区代码 
    districts = content3.split(',') 
    for d in districts: # 对于每个地区,我们把它的名字记录下来,然后再发送一次请求,得到它的最终代码: 
      d_pair = d.split('|') 
      d_code = d_pair[0] # 
      if 5 == len(d_code): 
        continue 
        temp=[d_code] 
        temp.insert(4,0) 
        d_code ="".join(temp) 
      name = d_pair[1] # 名字 
      url4 = url % d_code 
      content4 = urllib2.urlopen(url4).read() 
      print content4 
      code = content4.split('|')[1] 
      line = "%s:%s\n" % (name, code) 
      result += line 
      print name + ':' + code 
f = file('./city', 'w') 
f.write(result) 
f.close()

findweather

# -*- coding: utf-8 -*- 
import urllib2 
import json 
city = {} 
f =file('city','r') 
src = f.readlines() 
for line in src: 
  line = line.split('\n')[0] 
  name = line.split(':')[0] 
  code = line.split(':')[1] 
  city[name] = code 
cityname = raw_input('请输入你要查询的城市名称:\n') 
citycode = city.get(cityname) 
print cityname 
if citycode: 
  try: 
    url = ('http://www.weather.com.cn/data/cityinfo/%s.html' % citycode) 
    content = urllib2.urlopen(url).read() 
    data = json.loads(content) 
    result = data['weatherinfo'] 
    str_temp = ('%s\n%s ~ %s') % (result['weather'],result['temp1'],result['temp2']) 
    print str_temp 
  except: 
    print '查询失败' 
else: 
  print '没有找到该城市'

运行 findweather  即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中字典(Dictionary)用法实例详解
May 30 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
Python实用技巧之利用元组代替字典并为元组元素命名
Jul 11 Python
Python pymongo模块常用操作分析
Sep 01 Python
解决python3捕获cx_oracle抛出的异常错误问题
Oct 18 Python
判断python对象是否可调用的三种方式及其区别详解
Jan 31 Python
Python argparse模块应用实例解析
Nov 15 Python
利用setuptools打包python程序的方法步骤
Jan 18 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
Jan 18 Python
如何利用python进行时间序列分析
Aug 04 Python
python 中关于pycharm选择运行环境的问题
Oct 31 Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 Python
python实现定时提取实时日志程序
Jun 22 #Python
pandas 读取各种格式文件的方法
Jun 22 #Python
python使用turtle库绘制时钟
Mar 25 #Python
Python日期时间对象转换为字符串的实例
Jun 22 #Python
python pandas 对时间序列文件处理的实例
Jun 22 #Python
python使用turtle绘制分形树
Jun 22 #Python
python递归函数绘制分形树的方法
Jun 22 #Python
You might like
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
JavaScript 加号(+)运算符号
2009/12/06 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
js转义字符介绍
2013/11/05 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
网页挂马方式整理及详细介绍
2016/11/03 Javascript
基于js实现的限制文本框只可以输入数字
2016/12/05 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
vue增加强缓存和版本号的实现方法
2019/05/01 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
图文详解WinPE下安装Python
2016/05/17 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
什么是python的id函数
2020/06/11 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
python 绘制国旗的示例
2020/09/27 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
python 爬取小说并下载的示例
2020/12/07 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
北美大型运动类产品商城:Champs Sports
2017/01/12 全球购物
Moss Bros官网:英国排名第一的西装店
2020/02/26 全球购物
2014年客房服务员工作总结
2014/11/18 职场文书
开场白怎么写
2015/06/01 职场文书