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的类实例属性访问规则探讨
Jan 30 Python
Python 26进制计算实现方法
May 28 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
Python3中bytes类型转换为str类型
Sep 27 Python
pandas删除指定行详解
Apr 04 Python
在django view中给form传入参数的例子
Jul 19 Python
Python3 翻转二叉树的实现
Sep 30 Python
Python Tensor FLow简单使用方法实例详解
Jan 14 Python
python实现程序重启和系统重启方式
Apr 16 Python
解决Python安装cryptography报错问题
Sep 03 Python
python使用bs4爬取boss直聘静态页面
Oct 10 Python
用python爬虫批量下载pdf的实现
Dec 01 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
php数组转成json格式的方法
2015/03/09 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
JS继承 笔记
2011/07/13 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
JQuery中DOM事件绑定用法详解
2015/06/13 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
Python实现文件信息进行合并实例代码
2018/01/17 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
2019/02/17 Python
python二进制文件的转译详解
2019/07/03 Python
python飞机大战 pygame游戏创建快速入门详解
2019/12/17 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
2020/07/01 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
高级运动鞋:GREATS
2019/07/19 全球购物
CSMA/CD介质访问控制协议
2015/11/17 面试题
物流专业大学应届生求职信
2013/11/03 职场文书
公司周年庆典邀请函
2014/01/12 职场文书
省三好学生申请材料
2014/01/22 职场文书
销售主管竞聘书
2014/03/31 职场文书
交通事故协议书
2014/04/15 职场文书
亚运会口号
2014/06/20 职场文书
培训科主任岗位职责
2014/08/08 职场文书
工作失职自我检讨书
2015/05/05 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis