气象大数据平台(天擎)数据读取方法(python)(地面资料下载)
一、下载地面资料先在天擎官网中下载python3中的demo (../music-demo-python3-v2.0/music-demo-python/src/demo)再利用天擎官网中python - rest 中的示例代码# -*- coding: utf-8 -*-'''Created in 2016/03/28@author: xjunior'''import sysimport tim
·
一、下载地面资料
先在天擎官网中下载python3中的demo (../music-demo-python3-v2.0/music-demo-python/src/demo)
再利用天擎官网中python - rest 中的示例代码
# -*- coding: utf-8 -*-
'''
Created in 2016/03/28
@author: xjunior
'''
import sys
import time
import uuid
import webbrowser
# 看demo所在目录,添加路径
sys.path.append('../../..')
from demo.util import SignGenUtil
# 有些输出是中文字符,统一设置一下编码
# reload(sys)
# sys.setdefaultencoding('utf8')
if __name__ == '__main__':
# 服务节点
serviceNodeId = '******'
# 接口服务端IP和端口
serviceIp = '******'
# 用户名&密码
userId = '******'
pwd = '******'
# 序列化格式
dataFormat = 'json'
# 接口url
baseUrl = 'http://' + serviceIp + '/music-ws/api?\
serviceNodeId=' + serviceNodeId + '\
&userId=' + userId + '\
&interfaceId=******\
&dataCode=******\
&elements=******\
×=******\
&dataFormat='
# 接口url一次拼接
baseUrl = baseUrl + dataFormat
# 生成时间戳和uuid,并拼接接口url
timestamp = str(int(round(time.time() * 1000)))
nonce = str(uuid.uuid1())
baseUrl += '×tamp=' + timestamp
baseUrl += '&nonce=' + nonce
# 生成sign
signParams = {'serviceNodeId': serviceNodeId,
'userId': '******',
'interfaceId': '******',
'dataCode': '******',
'elements': '******',
'times': '******',
'dataFormat': dataFormat,
'timestamp': timestamp,
'nonce': nonce,
'pwd': pwd,
}
signUtil = SignGenUtil.SignGenUtil()
sign = signUtil.getSign(signParams)
if (sign == ""):
print("generate sign is None")
# 拼接sign
baseUrl+='&sign=' + sign
# print(baseUrl)
# 当前浏览器打开新标签
webbrowser.open_new_tab(baseUrl)
程序代码内需要修改的有:
1. sys.path.append('../../..')
在括号内写入demo文件夹所在位置
2. 程序块内的星号
具体可以在接口测试工具中,选择要素后点击生成脚本,对应每个星号进行复制修改
运行后会自动弹出运行了url链接,并显示读取结果。
二、将资料写入json文件
# 查看是否返回内容
response = requests.get(baseUrl)
# 获取url内容并解码
xml_data = response.json()
# 写入json文件
f = open(file="F:/temp/my.json", mode='w', encoding='utf-8')
json.dump(xml_data, indent=2, fp=f, sort_keys=True, ensure_ascii=False)
f.close()
利用json.dumps(dict)
将字典转为json字符串,indent为多行缩进空格数, sort_keys为是否按键排序,ensure_ascii=False为确保中文不会转为乱码。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)