当前位置:首页 > Python >

python如何获取本地位置和天气

发布时间:2016-01-08 09:13:32 作者:佚名 阅读:(1036)

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级

欢迎分享转载→ python如何获取本地位置和天气

© 2015-2019 - 吾爱编程网 版权所有 苏ICP备18033726号-1关于我们 - 网站声明 - 联系我们