- 帖子
- 4
- 精华
- 0
- 积分
- 15
- 阅读权限
- 10
- 注册时间
- 2016-9-23
- 最后登录
- 2016-10-5
|
跟着推送文的步骤,想要抓取城市代码。但是最后的问题是写不了文件。在shell可以打印出来每个城市的代码,但是在我指定的f=open()的地址却没有找到文件。然后有时候运行代码会出现“code=content4.split('|')[1]IndexError: list index out of range”的error
不知道有没有人知道是什么问题
代码如下:
import urllib.request
url1 = 'http://m.weather.com.cn/data5/city.xml'
content1 = urllib.request.urlopen(url1).read()
content1=content1.decode()
provinces = content1.split(',')
result = 'city = {\n'
url = 'http://m.weather.com.cn/data3/city%s.xml'
for p in provinces:
p_code= p.split('|')[0]
url2 = url %p_code
content2 =urllib.request.urlopen(url2).read().decode()
cities = content2.split(',')
for c in cities:
c_code = c.split('|')[0]
url3 = url %c_code
content3=urllib.request.urlopen(url3).read().decode()
districts=content3.split(',')
for d in districts:
d_pair=d.split('|')
d_code=d_pair[0]
name=d_pair[1]
url4=url %d_code
content4=urllib.request.urlopen(url4).read().decode()
code=content4.split('|')[1]
line=" '%s':'%s',\n" %(name,code)
result+=line
result += '}'
f = open('d:/mycity.py', 'w')
f.write(result)
f.close()
|
|