本文实例为大家分享了python实现自主查询实时天气的具体代码,供大家参考,具体内容如下
用到了urllib2 json 很简单的一个应用 如下
获取城市编号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# -*- 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 即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_31821675/article/details/78207893