【03】天气查询应用(第三课)

第二课的内容学会了吗?

如果你看懂了,那么进行第三部吧,其实只是第二步的升级啦……。我们将抓取的城市地区代码储存到本地文件中。比第二课简单多了。

看下面代码:

 1 import urllib2
 2 
 3 url1 = 'http://m.weather.com.cn/data5/city.xml'
 4 content1 = urllib2.urlopen(url1).read();
 5 privences = content1.split(',')
 6 result = 'city = {\n'
 7 
 8 url = 'http://m.weather.com.cn/data3/city%s.xml'
 9 for p in privences:
10     p_code = p.split('|')[0]
11     url2 = url % p_code
12     content2 = urllib2.urlopen(url2).read()
13     cities = content2.split(',')
14     for c in cities:
15         c_code  = c.split('|')[0]
16         url3 = url % c_code
17         content3 = urllib2.urlopen(url3).read()
18         districts = content3.split(',')
19         for d in districts:
20             d_pair = d.split('|')
21             d_code = d_pair[0]
22             name = d_pair[1]
23             url4 = url % d_code
24             content4 = urllib2.urlopen(url4).read()
25             code = content4.split('|')[1]
26             line = "'%s':'%s',\n" % (name,code)
27             result += line
28             print name + ':'+code
29 result += '}'
30 f = file('E:\city.txt')
31 f.write(result)
32 f.close()
33             

我感觉python对于字符的处理很不优雅,甚至于很蛋疼,对于生成的city.py,必须要在第一行加上:#-*-encoding:GB18030-*-

否则会出现很多问题。

对于直接双击点开.py格式的文件。第一行最好也要加上:#-*-encoding:GB18030-*-

不然在控制台显示中文的时候会是乱码(以上问题貌似仅限于window平台,linux下没有问题,不知道是什么情况)

转载于:https://www.cnblogs.com/premier/p/3652150.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值