从聚合数据网站的API接口抽取股票数据到数据库中
接口说明文档:https://www.juhe.cn/docs/api/id/21
接口返回的数据格式如下:
{ "resultcode":"200", /*返回码,200:正常*/ "reason":"SUCCESSED!", "result":[ { "data":{ "gid":"sh601009", /*股票编号*/ "increPer": "9.91", /*涨跌百分比*/ "increase": "43.99", /*涨跌额*/ "name":"南京银行", /*股票名称*/ "todayStartPri":"8.26", /*今日开盘价*/ "yestodEndPri":"8.26", /*昨日收盘价*/ "nowPri":"8.37", /*当前价格*/ "todayMax":"8.55", /*今日最高价*/ "todayMin":"8.25", /*今日最低价*/ "competitivePri":"8.37", /*竞买价*/ "reservePri":"8.38", /*竞卖价*/ "traNumber":"34501453", /*成交量*/ "traAmount":"290889560", /*成交金额*/ "buyOne":"10870", /*买一*/ "buyOnePri":"8.37", /*买一报价*/ "buyTwo":"177241", /*买二*/ "buyTwoPri":"8.36", /*买二报价*/ "buyThree":"92600", /*买三*/ "buyThreePri":"8.35", /*买三报价*/ "buyFour":"87200" /*买四*/ "buyFourPri":"8.34", /*买四报价*/ "buyFive":"113700", /*买五*/ "buyFivePri":"8.42", /*买五报价*/ "sellOne":"47556", /*卖一*/ "sellOnePri":"8.38", /*卖一报价*/ "sellTwo":"103057", /*卖二*/ "sellTwoPri":"8.39", /*卖二报价*/ "sellThree":"186689", /*卖三*/ "sellThreePri":"8.40", /*卖三报价*/ "sellFour":"49000", /*卖四*/ "sellFourPri":"8.41", /*卖四报价*/ "sellFive":"214535", /*卖五*/ "sellFivePri":"15.21", /*卖五报价*/ "date":"2012-12-11", /*日期*/ "time":"15:03:06", /*时间*/ }, "dapandata":{/*大盘数据可通过字段type单独查询*/ }, "gopicture":{ "minurl":"http://image.sinajs.cn/newchart/min/n/sh601009.gif",/*分时K线图*/ "dayurl":"http://image.sinajs.cn/newchart/daily/n/sh601009.gif",/*日K线图*/ "weekurl":"http://image.sinajs.cn/newchart/weekly/n/sh601009.gif",/*周K线图*/ "monthurl":"http://image.sinajs.cn/newchart/monthly/n/sh601009.gif"/*月K线图*/ } }] } ----------------------------------深(上)证指数示例------------------------------------------------------------------ { "error_code": 0 "reason": "SUCCESSED!", "result": { "dealNum": "24388041799",/*成交量*/ "dealPri": "340674441059.270",/*成交额*/ "highPri": "10357.417",/*最高*/ "increPer": "-0.46",/*涨跌百分比*/ "increase": "-43.756",/*涨跌幅*/ "lowpri": "10121.741",/*最低*/ "name": "深证成指",/*名称*/ "nowpri": "10270.855",/*当前价格*/ "openPri": "10200.547",/*今开*/ "time": "2015-09-22 14:45:25",/*时间*/ "yesPri": "10176.727"/*昨收*/ }, }
再看一下目标表的结构:
表名:STOCK_HS
字段结构如下:
需要从接口数据中取出7个字段的值写入数据库
在HHDI中如何进行配置?
第一步:创建目标数据连接
导入目标表元数据结构
转换任务中新建执行WebService任务,填写任务编号和名称
web服务页签中填写URL、请求方式和返回类型
注意url中有一个变量:${StockNo},假设可以通过设置股票代码变量来获取数据
也可以采用POST方式提交,选择POST(键值对参数)
注意点击数据预览之前需要将变量替换为实际值
写入目标页签中选择创建的数据连接和导入的目标表,更新方式选择插入前先删除已有的数据
在字段配置页签中点击添加全部字段,并配置各字段的JsonPath和对应的数据库字段
注意:从JSON数据中根据JSONPATH解析出来的数据的内容类型选择节点,如果是常量或者变量的话则选择数值
比如STOCKNO字段,是获取变量中的值并写入数据库中,则自处的内容类型为数值
成功条件如果不选,则默认为HTTP状态码为200.
保存后,执行任务进行测试,输入变量StockNo的值,点击执行任务
观察执行日志
查看数据库的结果