今天来谈一谈Python解析JSON数据,并写入到本地文件的一个小例子。
–
思路如下
- 从一个返回JSON天气数据的网站获取到目标JSON数据串
- 使用Python解析出需要的部分
- 写入到本地文件,供其他的应用程序读取
- 完成整个业务需求
原料
一个可以获得天气信息的URL网址,如天气信息接口
读取到的结果:(由于是浏览器显示的时候的编码与之不匹配,故出现了乱码,但这并不影响我们对数据的处理)
{"weatherinfo":{"city":"鍖椾含","cityid":"101010100","temp":"18","WD":"涓滃崡椋�","WS":"1绾�","SD":"17%","WSE":"1","time":"17:05","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"鏆傛棤瀹炲喌","qy":"1011","rain":"0"}}
代码示例
import sys
import urllib,urllib2
import json
# 获取到目标URL的JSON数据串
def getHtml(url):
page = urllib2.urlopen(url)
html = page.read()
return html
def parseTOUTF8(data):
data = json.loads(data)
content = data['weatherinfo']
result = json.dumps(content,ensure_ascii=False)
return result
def prettyData(data):
result = 'My Weather Info :\n'
for item in data:
result = result + item + '\t' + data[item] + '\n'
return result
def writeToLocal(filepath,filename,data):
file = os.open(path+filename,'wb')
file.write(data)
file.close()
print '数据已经成功写入到本地文件'
if __name__ == "__main__":
url = 'http://www.weather.com.cn/data/sk/101010100.html'
page = getHtml(url)
text = parseTOUTF8(page)
content = prettyData(text)
path=r'F:\MyWeatherInfo.txt'
write(path,'',content)
print '天气信息获取并更新完毕'
下一步
这样就算完成了。接下来就是使用其他的语言或者仍旧使用Python读取这些数据,然后做些其他的处理了。这相比于使用Java获取网络数据,然后解析JSON字符串简单多了吧。