返回列表 上一主題 發帖

[發問] 證交所資料自動下載

[發問] 證交所資料自動下載

本帖最後由 lalalada 於 2012-7-27 15:58 編輯

證交所網站竟然改版了ˊˋ 才剛寫好的說
完全沒有新手的好運....
    ActiveSheet.name = sheetname
    webURL = "URL; http://bsr.twse.com.tw/bshtm/bsContent.aspx? StartNumber=2498&FocusIndex=All_21"
    'webURL = "URL; http://bsr.twse.com.tw/bshtm/bshtm_report_Messages.aspx? StartNumber=2498&FocusIndex=All_100"   位址會換!
    With ActiveSheet.QueryTables.Add(Connection:=webURL, Destination:=Range("A1"))
        .PreserveFormatting = True
        .RefreshStyle = xlInsertDeleteCells
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
    End With
中間有行註解就是第一次改版的見證....''(改網址)
而這次改版後 本來使用 http://bsr.twse.com.tw/bshtm/bsC ... ;FocusIndex=All_100
就可以適用每支股票 只要改代碼就好
但是現在要指定頁數
比如3008的資料共20頁  http://bsr.twse.com.tw/bshtm/bsC ... p;FocusIndex=All_20
則ALL後面輸入1~20都抓得到 超過20則無法讀取
不知道能不能找出網站決定頁數的方法呢?
又 我在網站原始碼 view-source:http://bsr.twse.com.tw/bshtm/bsMenu.aspx  中發現
//    window.open("bshtm/"+ HiddenField_spDate +"/"+ document.getElementById("hidTASKNO").value+"/"+ document.getElementById("hidTASKNO").value+".csv");
window.open("bsContent.aspx?StartNumber=" + document.getElementById("hidTASKNO").value + "&download=csv");
表示有csv檔作為網頁資料源?有沒有辦法抓到呢?
感覺會是比較一勞永逸的做法 且下載csv會比查詢快很多
感激不盡!

問題已解決! 順便修了一下原本貼的程式碼 把太亂無關的部分刪掉方便大家看@@

Python 或 VBA  哪個好用?

TOP

今天終於開始下載資料了
請問誰有之前的資料 可以給我
感激不盡
[email protected]

TOP

需要此檔來練習一下
讚啦

TOP

phthon好像很好,有誰可以分享python抓資料的方法?
stock

TOP

本帖最後由 white5168 於 2012-7-28 00:00 編輯

附上今天用PYTHON跑的圖

1.gif (996.47 KB)

開始

1.gif

2.gif (999.45 KB)

中間

2.gif

TOP

本帖最後由 conchih 於 2012-7-27 16:20 編輯

回復 23# lalalada
利用GET
先讀取原始碼
因為我的程式現在正在跑所以就不貼了
這部分跟抓CSV是一樣的 改網址即可
  


可否請大大幫忙
等程式跑完&有空時
貼一下GET那段的網址與程式碼
因為我無法抓到總頁數
非常感謝

TOP

附上一個用python抓的檔案,稍晚5:30後再附上今天用python抓明細的截圖

1101_20120726.rar (3.58 KB)

劵商明細

TOP

回復 3# lalalada

嗯 我成功了
基本上就如一開始假設
利用GET
先讀取原始碼
因為我的程式現在正在跑所以就不貼了
這部分跟抓CSV是一樣的 改網址即可
然後抓出頁碼的部分
剩下的就跟以前一樣@@
不過又更慢了....而且出現中斷現象
期待八月的CSV吧 雖然可能要付費= =
再次感謝大家的熱情討論與指教:)!!

TOP

manny

TOP

        靜思自在 : 看別人不順眼,是自己修養不夠。
返回列表 上一主題