[爆卦]證交所api json是什麼?優點缺點精華區懶人包

為什麼這篇證交所api json鄉民發文收入到精華區:因為在證交所api json這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者a856479 (thebelief)看板Python標題[問題] 獲取證交所即時股價時間Tue...


Hi 大家好,以下是我的問題

目前正在嘗試從證交所取得即時股票資訊

但有時候可以成功,有時候會失敗...

我找不出錯誤的原因,希望各位可以幫忙


=====以下是程式碼=====

targets = ['6188', '5478', '6488'] #關注的股票代碼

endpoint = 'http://mis.twse.com.tw/stock/api/getStockInfo.jsp'

timestamp = int(time.time() * 1000 + 1000)

channels = '|'.join('otc_{}.tw'.format(target_otc) for target_otc in targets)
query_url = '{}?&ex_ch={}&json=1&delay=0&_={}'.format(endpoint, channels,
timestamp)

headers = {'Accept-Language': 'zh-TW'}

req = requests.session()
req.get('http://mis.twse.com.tw/stock/index.jsp', headers=headers)

response = req.get(query_url)
content = json.loads(response.text) # 註解1
data = content['msgArray'] # 需要的訊息被包在'msgArray'裡面

print(data)

=====程式碼結束=====


當我執行以上程式,有時候可以成功獲取資訊

但是常常失敗的結果是顯示:

data_otc = content_otc['msgArray']
KeyError: 'msgArray'

於是我試著印出 #註解1 的content:

只剩下{'userDelay': 500, 'rtmessage': '0', 'rtcode': '0000'}

'msgArray'的確消失了.


我找不出是什麼原因會導致失敗,希望各位可以幫我解惑...

謝謝各位耐心閱讀我的問題!

*補充說明一下,如果有成功 印出來的data會像:

{'msgArray': (股票資訊), 'userDelay': 5000, 'rtmessage': 'OK', 'rtcode':
'0000'}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.139.148.49
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1494303664.A.BDA.html
※ 編輯: a856479 (101.139.148.49), 05/09/2017 12:51:34
s860134: header 幹嘛不抄完? 05/09 12:55
a856479: header部份有嘗試過加入更多資訊,但沒有改善,所以最後 05/09 13:33
a856479: 只留下那段 05/09 13:33
a856479: 我疑惑的地方是,為什麼有時候會成功有時候失敗 05/09 13:35
zerof: server block 吧, rtmessage 不是回傳 '0' 嗎....y 05/09 14:50
a856479: 我有另一個一樣的腳本,因為上市跟上櫃股票的詞綴不一樣 05/09 15:13
a856479: 。但也只有將 channels = '|'.join('otc_{}. 的otc_改成t 05/09 15:13
a856479: se_{}.,去取得上市股票資訊。每次都是同時執行,可是就 05/09 15:13
a856479: 沒出錯過。還是腳本裡面有哪裡是我可以改善的部份嗎? 05/09 15:13
marsking: 使用你的程式碼測試好幾次都沒失敗過耶0.0 05/09 21:42
chababa: 我試跑幾次,真的有原Po描述的情形 05/09 22:50
a856479: 呃 哈哈,有點囧。謝謝大家幫忙測試 05/09 22:53
marsking: 我是用 python3.5 不知道有沒有關係? 05/09 23:38
Killercat: 最rock的方法就是開wireshark抓看request有沒有不同 05/10 09:34
Killercat: 如果request基本上都一樣,那就是server問題了 05/10 09:34
s860134: server site 應該是有做些防堵 05/10 13:06
chababa: 謝謝大大的分享, 很有趣的Topic 05/10 20:00
chababa: https://goo.gl/IEtDm2 這是我參考改的 05/10 20:01

你可能也想看看

搜尋相關網站