研究生找資料常常都會遇到一個問題,就是資料來源本身不連續,就要自己手動抓取處理,但這樣對一個像我一樣懶惰的人來說,一直重複著相同動作是要了研究生的命。
我的論文研究有一部份要抓取大盤(加權指數)日成交量的數據,在證交所網站上是以月為單位下載。而我需要遠到 1997 年的資料,這樣我必須下載 175 次,然後再做至少 175 次的資料合併!不!我真的很懶惰,還是交給 python 吧!
以下就是順手寫的小程式抓取資料:
class ggm(年度,儲存檔名):
例如:
有需要的就請參考以下程式吧:
不過我還是要說啦!東西做出來就是我賺到了,老闆念我都在處理技術的問題,但我就是喜歡這樣一次抓完的爽度,我就是不喜歡一筆一筆慢慢來,所以 ... 繼續懶惰!
我的論文研究有一部份要抓取大盤(加權指數)日成交量的數據,在證交所網站上是以月為單位下載。而我需要遠到 1997 年的資料,這樣我必須下載 175 次,然後再做至少 175 次的資料合併!不!我真的很懶惰,還是交給 python 吧!
以下就是順手寫的小程式抓取資料:
class ggm(年度,儲存檔名):
- 年度:都是以最新往前到指定的年度為止,包含該年度
- 儲存檔名:是指最後資料輸出成 csv 檔的檔名
例如:
ggm(1997,'2010-1997-Data')跑完就會出現 '2010-1997-Data.csv' 檔案,裡面就有相關的大盤日成交量資料。
有需要的就請參考以下程式吧:
不過我還是要說啦!東西做出來就是我賺到了,老闆念我都在處理技術的問題,但我就是喜歡這樣一次抓完的爽度,我就是不喜歡一筆一筆慢慢來,所以 ... 繼續懶惰!
Hi~~你好
回覆刪除我試著 class ggm(1997,'2010-1997-Data'):
卻出現以下的錯誤
File "stock.py", line 9, in
class ggm(1997,'1997'):
TypeError: Error when calling the metaclass bases
int() takes at most 2 arguments (3 given)
請教是委什麼呢??? Thank you
我不太清楚你是怎樣執行的,我是這樣做。
回覆刪除python
>>> import stock
>>> stock.ggm(1997,'1997')
...(就開始執行...)
hi~~
刪除可以了 Thank you very much
Hi
刪除先謝謝你的無私分享
但我想加問一下
我把程式copy複製貼上
然後 F5開始執行
可是
import stock時
出現
Traceback (most recent call last):
File "", line 1, in
import stock
ImportError: No module named stock
這是為什麼呢?
可以的話 請告訴我 謝謝..
你有把檔案存成 stock.py 嗎?
刪除要在同一個資料夾底下執行 python
我發覺是我笨了..
刪除原來直接執行ggm(1997,'2010-1997-Data')
即可
抱歉 因為只有python可是卻幾乎沒用過XD
真的很方便唷
不過我想題外問一下
我有辦法在程式裡加一些語法然後變成自動加總某段資料嗎
像是把某月份全部日成交量加總起來變成月成交量
換句話說
關於月成交量這個部分
您有什麼高見嗎?
謝謝您的分享 感激不盡
既然 python 語法不熟,我就建議你還是交給 excel 處理就好,或是你有興趣可以參考我另外寫的網站或套件。
回覆刪除網站 http://grs.toomore.net/
套件 http://pypi.python.org/pypi/grs
您好,我下載您在http://pypi.python.org/pypi/grs的附件grs-0.2.0-py2.7.egg與grs-0.2.0.tar.gz,並將grs-0.2.0-py2.7.egg覆蓋grs-0.2.0.tar.gz內的檔案,可是在python的GUI打入網站上的指令from grs import stock 卻會發生
回覆刪除Traceback (most recent call last):
File "", line 1, in
from grs import stock
ImportError: No module named grs
能否請您幫忙一下,我的信箱u9211008@gmail.com,謝謝.
建議用 pip 安裝才不會有路徑問題
刪除pip install grs
作者已經移除這則留言。
刪除您好,我依據網站上建立一個my_new_env資料夾在C槽並且用pip安裝了grs,可是我現在不管在Python的GUI或command line下輸入form grs import stock都會出現
刪除>>> from grs import stock
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named grs
不知道是哪邊沒有注意到,請您跟我說一下盲點在哪,謝謝.
下面為我參考的網站
http://quest.keitheis.org/post/6713569631/pip-install-on-windows-linux-mac
您好,我目前已經能夠使用您寫的模組了,現在遇到一個問題是我測試某些股票的時候是沒有問題的,可是測試到一檔股票的時候出現錯誤訊息,奇怪的是可顯示出當日的即時股價卻無法顯示均線,這檔股票是3232,以下為錯誤訊息
刪除Traceback (most recent call last):
File "", line 1, in
print g.MA(5)
File "C:\Python27\lib\site-packages\grs\fetch_data.py", line 188, in MA
return self.__cal_MA(date, 6)
File "C:\Python27\lib\site-packages\grs\fetch_data.py", line 165, in __cal_MA
cont = self.__cal_continue(re)
File "C:\Python27\lib\site-packages\grs\fetch_data.py", line 184, in __cal_continue
return cont * diff_data[0]
IndexError: list index out of range
3232 是上櫃,這只能擷取上市股票 ...
刪除版主您好,
回覆刪除謝謝您的分享,找了好久,終於有用的資訊
有個問題想請教,
如果我只想取得"即時的大盤總成交量" 一個欄位的CSV
要下什麼http request?
謝謝您!
這個只能抓 "日成交量的數據" ...
刪除其他的需求可以參考我做的另外一個套件,感謝!
https://pypi.python.org/pypi/grs
謝謝您的回覆!
刪除作者已經移除這則留言。
回覆刪除版主您好,
回覆刪除比方說我用下列url 可以得到即時的台灣50的資訊
http://mis.tse.com.tw/data/0050.csv
0050 -0.25 13:30:05 62.9 54.7 ........
以得到的CSV前幾欄來說, 依序為"股票代號" "目前漲跌" "報價時間" "漲停價" "跌停價"
但是後面還有一長串,
每個欄位的各別代表意義要去哪裡查?
謝謝您
Hello,版主您好,
回覆刪除身為一個新手打算抓證交所的資料從你的這段程式碼開始,下載了python 3.4,然後稍微改一下urllib2的部分。(根據網路資源顯示3.4之後的版本將urllib2跟urllib合併,變成urllib.request) 然後試著跑這段程式碼。
跑完了,csv檔案有創造出來。但是檔案裡是沒有資料的@@
錯誤的訊息為:
"File "D:\Python34\stock.py", line 20, in __init__
for i in self.fetch_data(daterange):
_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)"
不知道是那兒出了問題了呢?
不行吧,這只能在 Python2 底下執行。
刪除ooops......,不論如何,謝謝你。
刪除感謝版主的分享, 我是python2新手,能夠這樣抓資料好方便阿~非常感謝
回覆刪除