Python获取本地位置和天气

 

[python] view plain copy
 
  1. #encoding=gbk  
  2. import urllib  
  3. import sys  
  4. import re  
  5. import pinyin  
  6. city_info=urllib.urlopen( 'http://pv.sohu.com/cityjson').read()  
  7. print city_info   #看输出结构  
  8. addr=city_info.split('=')[1].split(',')[2].split('"')[3] #取出地址信息  
  9.   
  10. open('nj.txt','w').write(addr)  
  11. pinyin = pinyin.Pinyin(file_path='./nj.txt')  
  12. pinyin.label_chinese()   #将地址转换成拼音,写入文件  
  13.   
  14. f=open('nj.txt').read()  
  15. print f     #看输出地址拼音结构  
  16. provice=f.split('sheng',1)[0].replace(' ','')    #获取省份  
  17. city=f.split('shi')[0].split('sheng')[1].strip().replace(' ','') #获取城市  
  18. url='http://qq.ip138.com/weather/%s/%s.htm'%(provice,city)  
  19. #分析url可知某省某市的天气url即为上面格式  
  20. wea_info=urllib.urlopen(url).read()  
  21. tianqi_pattern='alt="(.+?)"'  
  22. tianqi=re.findall(tianqi_pattern, wea_info)  #获取天气信息  
  23.   
  24. wendu_pattern='<td>([-]?\d{1,2}.+)</td>'  
  25. wendu=re.findall(wendu_pattern, wea_info)  #获取温度信息  
  26.   
  27. wind_pattern='<td>(\W+\d{1,2}.+)</td>'  
  28. wind=re.findall(wind_pattern, wea_info)   #获取风向信息  
  29.   
  30. print '位置:',addr  
  31. print '天气:',tianqi[0]  #当天天气,明天天气即为tianqi[1],最多获取6天天气  
  32. print '温度:',wendu[0]   #当天温度  
  33. print '风向:',wind[0]    #当天风向  

 

posted @ 2017-07-27 11:25  牛牛码代码  阅读(3905)  评论(1编辑  收藏  举报