COCO研究院

 找回密碼
 註冊
搜索
12
返回列表 發新帖
樓主: MorganLiu

證交所的每日收盤行情csv

[複製鏈接]
發表於 15-1-22 18:43 | 顯示全部樓層
方法一 :
VB6
Inet.Execute sURL, "POST", sFormData, sHeader

方法二 :改用 .Net 寫

只能點到這裡了


發表於 15-3-4 00:35 | 顯示全部樓層
下列期間的上市櫃收盤行情(全部),證交所和櫃買中心沒有提供CSV下載
上市─民國89年1月4日至93年2月10日
上櫃─民國92年8月至96年4月20日
苦惱
有前輩可提供EXCEL可開啟的檔案嗎?拜託了
發表於 15-3-4 10:02 | 顯示全部樓層
jak 發表於 15-3-4 00:35
下列期間的上市櫃收盤行情(全部),證交所和櫃買中心沒有提供CSV下載
上市─民國89年1月4日至93年2月10日
上 ...

看一下這篇「台股上市上櫃個股歷史資料

發表於 15-3-4 10:50 | 顯示全部樓層
Sirius 發表於 15-3-4 10:02
看一下這篇「台股上市上櫃個股歷史資料」

感謝大大撥冗回復,這篇我有看過,
不過我需要的是每天全部的資料,
如果從網站下載下來的檔名是這樣

上市  A11220150303ALLBUT0999_1.csv
上櫃  RSTA3104_1040303.csv

我沒權限貼網址,應該內行的大大會懂
發表於 15-3-4 14:58 | 顯示全部樓層
jak 發表於 15-3-4 10:50
感謝大大撥冗回復,這篇我有看過,
不過我需要的是每天全部的資料,
如果從網站下載下來的檔名是這樣

那篇已有完整的說明了
是否符合你的需求就請自行判斷了
你要的是以日為單位,一日一個檔案
那篇的資料是以公司為單位,一個公司一個檔案
內容都是開、高、收、低
但要注意成交量的單位

發表於 15-3-5 02:22 | 顯示全部樓層
本帖最後由 jak 於 15-3-5 02:25 編輯

再次感謝大大的回復,雖然資料不太符合我所要的,不過很謝謝你熱心幫忙,讓人覺得這個論壇好溫暖
發表於 15-11-21 11:07 | 顯示全部樓層
剛看到有位coco的朋友發給我的消息

15-11-20 23:32想請問小弟的程式哪裡有問題,我查不太出來?
datestr = str(current_insert_day.year-1911)+"/"+str(current_insert_day.month)+"/"+str(current_insert_day.day)//生成date 104/7/28
data = {'download': '', 'qdate': datestr, 'selectType': 'MS'}
agent = 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0'
上面的程式都會抓到今天的資料,
如果使用Sirius大的寫法,
    url = 'http://www.twse.com.tw/ch/trading/exchange/MI_MARGN/MI_MARGN.php'
    data = {'download': '', 'qdate': '104/08/14', 'selectType': 'MS'}
直接修改紅色的字串,則可以抓到104/8/14的資料。
請問想抓一段期間的資料,使用變數傳入該如何修改呢?
感謝。

沒仔細看,還以為要問我AmiBroker的問題,只是越看越不像,這哪是AmiBroker語法?
仔細看看,原來是要問用Python下載證交所股票資料方面的問題,是我想歪了
我還在想,這好像是很久以前在哪發表的文章中的一段代碼?看來有點像是我寫的,不過也好像是別人寫的
回憶了半天,終於想到“好像”是這篇,花些功夫把十個月前的文章翻了出來
這證明我總算沒得到老人痴呆症,好險,還可以找到回家的路
不過,希望下回若有朋友用消息問我這類問題時,最好把原始連結也附上,省得我花老半天才搞清楚狀況

其實這個問題可以直接發在這裡,也許別人看到了,就先回答了

此問題的要點應該在於:
  • 如何產生所需要的民國年月日格式的字串,像'104/11/20'
  • 如何使用迴圈,產生一段日期期間內所有如上述般的格式字串,逐一置入下載程序中,好把這段期間的資料全部抓下來

這其實牽涉到Python語法的使用,也許要寫篇Python基礎語法的教學文來解釋,或是去找篇別人寫好的文章來看比較快。這方面,請容我稍晚回來時再做說明,現在要出門去了

對於不太想自己寫程式的朋友,其實也有其它現成的工具可用,像lwhuang之前分享過的「抓股票資料爬蟲
發表於 15-11-21 15:22 | 顯示全部樓層
本帖最後由 Sirius 於 15-11-21 15:24 編輯

Python語言基礎請參考一下「Python教學資源


以下說明日期字串的產生方式與迴圈
以下是粗略的代碼,請自行調整成你所要的

假設先指定開始與結束日期字串:
我習慣用西元,在後面會轉成民國年
  1. date_s = '20150801'
  2. date_e = '20150831'
複製代碼
轉換成日期型別:
  1. from datetime import date, timedelta
  2. from time import sleep

  3. date_s = date(int(date_start[:4]), int(date_start[4:6]), int(date_start[6:8]))
  4. date_e = date(int(date_end[:4]), int(date_end[4:6]), int(date_end[6:8]))
複製代碼
開始日期與結束日期間的迴圈:
  1. while date_s <= date_e:
  2.     yyyy = date_s.strftime('%Y')
  3.     mm = date_s.strftime('%m')
  4.     dd = date_s.strftime('%d')

  5.     # 產生民國“年/月/日”字串
  6.     twymd = '{}/{}/{}'.format(int(yyyy) - 1911, mm, dd)

  7.     data = {'download': 'csv', 'qdate': twymd, 'selectType': 'ALLBUT0999'}
  8.     # 下載資料,這裡省略。
  9.     # 暫停一秒
  10.     sleep(1)

  11.     # 把日期加一日   
  12.     date_s = date_s + timedelta(days=1)
複製代碼
迴圈內請記得稍暫停一下,暫停時間也可用像0.5秒的時間,總之別忘記這點
不然可能會造成網站的瞬間大流量與負荷
我之前曾觀察過迴圈內不暫停持續下載大量資料的結果,在幾秒間就下載幾百MB流量
雖然對下載的人而言是很爽,但對於網站而言可能是災難
尤其剛好有多人同時同樣幹這種事時,簡單說,有點像網路恐佈攻擊
所以記得暫停一下,免得哪天大家都不能用的時候那就好玩了

另外,自己會有個檔案記錄交易所的營業日
我自己的程式會讀取這個檔案,不會去抓非營業日的資料,可避免不必要的網路擷取動作


今天為這問題也花了我不少小時的時間,希望以上能解答這位朋友的問題
發表於 15-11-21 23:01 | 顯示全部樓層
Sirius 發表於 15-11-21 15:22
Python語言基礎請參考一下「Python教學資源」

哈... 我抓東西不單沒等0.5秒... 還MULTI-THREAD同時多筆去抓.....
發表於 15-11-22 10:06 | 顯示全部樓層
hang 發表於 15-11-21 23:01
哈... 我抓東西不單沒等0.5秒... 還MULTI-THREAD同時多筆去抓.....

網站有可能會被你操掛

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-5-17 23:07

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 | AI繪圖AI超擬真美女AI beauty AI Stable DiffusionAI正妹AI Lookbook