從聚合數據網站的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的值,點擊執行任務
觀察執行日志
查看數據庫的結果