程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Python >> python如何獲取本地位置和天氣

python如何獲取本地位置和天氣

編輯:Python

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級
*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved