- #encoding=gbk
- import urllib
- import sys
- import re
- import pinyin
- city_info=urllib.urlopen( 'http://pv.sohu.com/cityjson').read()
- print city_info #看輸出結構
- addr=city_info.split('=')[1].split(',')[2].split('"')[3] #取出地址信息
- open('nj.txt','w').write(addr)
- pinyin = pinyin.Pinyin(file_path='./nj.txt')
- pinyin.label_chinese() #將地址轉換成拼音,寫入文件
- f=open('nj.txt').read()
- print f #看輸出地址拼音結構
- provice=f.split('sheng',1)[0].replace(' ','') #獲取省份
- city=f.split('shi')[0].split('sheng')[1].strip().replace(' ','') #獲取城市
- url='http://qq.ip138.com/weather/%s/%s.htm'%(provice,city)
- #分析url可知某省某市的天氣url即為上面格式
- wea_info=urllib.urlopen(url).read()
- tianqi_pattern='alt="(.+?)"'
- tianqi=re.findall(tianqi_pattern, wea_info) #獲取天氣信息
- wendu_pattern='<td>([-]?\d{1,2}.+)</td>'
- wendu=re.findall(wendu_pattern, wea_info) #獲取溫度信息
- wind_pattern='<td>(\W+\d{1,2}.+)</td>'
- wind=re.findall(wind_pattern, wea_info) #獲取風向信息
- print '位置:',addr
- print '天氣:',tianqi[0] #當天天氣,明天天氣即為tianqi[1],最多獲取6天天氣
- print '溫度:',wendu[0] #當天溫度
- print '風向:',wind[0] #當天風向