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设计模式编程中Adapter适配器模式的使用实例
Mar 02 Python
python数据清洗系列之字符串处理详解
Feb 12 Python
浅谈python中的__init__、__new__和__call__方法
Jul 18 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
Jan 31 Python
python 同时运行多个程序的实例
Jan 07 Python
pandas把所有大于0的数设置为1的方法
Jan 26 Python
Django框架会话技术实例分析【Cookie与Session】
May 24 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
Nov 04 Python
利用OpenCV和Python实现查找图片差异
Dec 19 Python
Python猴子补丁知识点总结
Jan 05 Python
windows10环境下用anaconda和VScode配置的图文教程
Mar 30 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
May 11 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程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
2016/01/28 Javascript
ionic实现带字的toggle滑动组件
2016/08/27 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
Python的Flask框架与数据库连接的教程
2015/04/20 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
解决Django中多条件查询的问题
2019/07/18 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
使用python+poco+夜神模拟器进行自动化测试实例
2020/04/23 Python
python如何实现递归转非递归
2021/02/25 Python
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
Shell脚本如何向终端输出信息
2014/04/25 面试题
校运会广播稿100字
2014/01/27 职场文书
社会公德演讲稿
2014/05/20 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
python基于机器学习预测股票交易信号
2021/05/25 Python
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS