python獲取本地位置和天氣
覺得最大的難點就是如何將漢字轉換成拼音
#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] #當天風向
上面import pinyin就是上面給的鏈接下載下來的代碼。
運行結果:
var returnCitySN = {"cip": "122.96.155.107", "cid": "320100", "cname": "江蘇省南京市"}; 所在位置: 江蘇省南京市 天氣: 陰 溫度: 3℃ 風向: 東北風4-5級*