python如何采集同花顺股票日度历史数据
今天研究同花順股票歷史數(shù)據(jù)采集比較有意思,所以記錄一下。
抓包請求分析
我們通過下面鏈接訪問同花順某只股票詳情頁面,這里以【貴州茅臺】為例
http://stockpage.10jqka.com.cn/600519/我這里使用火狐瀏覽器來抓包,請求之前按下 F12 打開瀏覽器控制臺,然后輸入鏈接回車訪問,控制臺就會進行抓包,等待頁面加載完成,能看到日度數(shù)據(jù)后,就可以停止抓包了。
這里我們以倒數(shù)第二根線為準,因為還在交易,倒數(shù)第一根線的數(shù)值是不斷變化的,不好分析是哪一個請求。所以記錄下倒數(shù)第二根線的開盤價、收盤價。在瀏覽器控制臺進行搜索。
奇怪的事情就發(fā)生了,你會發(fā)現(xiàn)搜索不到任何相關(guān)的數(shù)據(jù)返回,出現(xiàn)這種情況有一下幾種可能:
1、使用的是WS協(xié)議(webSocket協(xié)議),在股票數(shù)據(jù)中比較常見;2、可能使用的是整數(shù),而非小數(shù),去掉小數(shù)點搜索一下;3、傳輸數(shù)據(jù)進行了加密;通過分析,我覺得如果要獲得某只股票歷史數(shù)據(jù),股票代碼應(yīng)該是一個必要參數(shù)(只要他股票代碼不加密),所以直接搜索有股票代代碼參數(shù)的鏈接,就可以減少分析范圍,發(fā)現(xiàn)本次是第三種情況,數(shù)據(jù)進行了加密,歷史日度數(shù)據(jù)請求鏈接如下:
https://d.10jqka.com.cn/v6/line/hs_600519/01/all.js響應(yīng)數(shù)據(jù)分析
1、sortYear分析
通過數(shù)據(jù)名稱、格式,應(yīng)該是數(shù)據(jù)的年份。但是第二個數(shù)字86、234就不知道是什么意思了,猜測了一下應(yīng)該是每年的數(shù)據(jù)量(后來統(tǒng)計了一下數(shù)據(jù)量是能對上的,說明猜測正確)。
2、price分析
通過名稱應(yīng)該是我們要的價格,會發(fā)現(xiàn)和我們界面上看到的數(shù)值不一樣,所以搜索也搜索不到對應(yīng)的。通過研究發(fā)現(xiàn)需要每4個劃分為一組,計算規(guī)則如下:
# price中的數(shù)據(jù)4個一組, # 最低價:每組(第1個)/ 100 # 開盤價:每組(第1個 + 第2個)/ 100 # 最高價:每組(第1個 + 第3個)/ 100 # 收盤價:每組(第1個 + 第4個)/ 1003、volumn分析
成交量就不存在分組,一對一關(guān)系。只是也是用整數(shù)表示的,要除以100才是真實值
所有難點都講完了,python爬蟲采集代碼就比較簡單,python請求上沒有任何坑,所以就不在累述。
總結(jié)
以上是生活随笔為你收集整理的python如何采集同花顺股票日度历史数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu11.10输入法推荐-ibu
- 下一篇: 【Java基础】Java开发环境搭建并编