python实现自主查询实时天气
2019/7/15 0:36:29
本文主要是介绍python实现自主查询实时天气,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文实例为大家分享了python实现自主查询实时天气的具体代码,供大家参考,具体内容如下
用到了urllib2 json 很简单的一个应用 如下
获取城市编号
#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实现自主查询实时天气的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04Python外包有哪些常见的主要库-icode9专业技术文章分享
- 2024-10-02基于深度学习的钢铁缺陷检测系统(yolov8、注意力机制、PyQt5界面、Python)
- 2024-10-01怎么用python搭建一个系统-icode9专业技术文章分享
- 2024-09-30Python基础入门教程
- 2024-09-30获取参数学习:Python中的基础教程
- 2024-09-30Python编程基础详解
- 2024-09-29点击加载学习:Python编程基础教程
- 2024-09-29数据科学五大Python前端库:第二部分
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础