Board logo

標題: [發問] 請高手解惑幫忙! 上櫃網站又改版了!抓不到資料 [打印本頁]

作者: million2billion    時間: 2013-12-31 09:29     標題: 請高手解惑幫忙! 上櫃網站又改版了!抓不到資料

各位高手大大好
小弟原本參考別人網上用xmlhttp來 抓取上櫃交易明細. 昨天發現櫃檯網站改版,小弟用Fiddler查封包看不出所以然!
懇請高手幫忙解惑! 小弟感激不盡!

Sub 下載交易明細(FilePath As String, stockid As String, saledate As String)
    Set oXMLHTTP = CreateObject("Microsoft.XMLHTTP")
    Set objStream = CreateObject("ADODB.stream")
   
    webdate = Replace(saledate, Year(Date), CStr(CInt(Year(Date)) - 1911))
    FileName = FilePath + "\" + saledate + "_" + stockid + ".CSV"
   
    With oXMLHTTP
        .Open "GET", "http://www.gretai.org.tw/ch/stock/aftertrading/broker_trading/download_ALLCSV.php", False
        '.Open "POST", aa, False
        .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
        .send "curstk=" & stockid & "&stk_date=" & webdate
        
        If .readyState = 4 Then '.Status = 200
            With objStream
                .Type = 1       '以二進位方式操作
                .Open           '開啟物件
                .Write oXMLHTTP.ResponseBody
               
                If Dir(FileName) <> "" Then Kill FileName
                .SaveToFile FileName
                .Close
            End With
        End If
    End With
   
    Set oXMLHTTP = Nothing
    Set objStream = Nothing
End Sub

以下是上櫃網站的網址
http://www.gretai.org.tw/ch/stock/aftertrading/broker_trading/brokerBS.php

感謝您~~~~
作者: joey0415    時間: 2013-12-31 10:35

本帖最後由 joey0415 於 2013-12-31 10:42 編輯

的確改版了,自己也花了點時間修改

網址類似

http://www.gretai.org.tw/ch/stock/aftertrading/broker_trading/download_ALLCSV.php?curstk=1558&stk_date=1021230

其餘自行修改
作者: million2billion    時間: 2013-12-31 10:46

回復 2# joey0415


  J大,
請提點小弟! 可以下載,卻發現下載的都是沒有交易資料的 *.csv檔 ,是參數有哪裡不同了??  
感激不盡~~~~

Sub 下載交易明細(FilePath As String, stockid As String, saledate As String)
    Set oXMLHTTP = CreateObject("Microsoft.XMLHTTP")
    Set objStream = CreateObject("ADODB.stream")
   
    webdate = Replace(saledate, Year(Date), CStr(CInt(Year(Date)) - 1911))
    FileName = FilePath + "\" + saledate + "_" + stockid + ".CSV"
   
    With oXMLHTTP
        .Open "POST", "http://www.gretai.org.tw/ch/stock/aftertrading/broker_trading/download_ALLCSV.php", False
        .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
        .send "curstk=" & stockid & "&stk_date=" & webdate
        
        If .readyState = 4 Then '.Status = 200
            With objStream
                .Type = 1       '以二進位方式操作
                .Open           '開啟物件
                .Write oXMLHTTP.ResponseBody
               
                If Dir(FileName) <> "" Then Kill FileName
                .SaveToFile FileName
                .Close
            End With
        End If
    End With
   
    Set oXMLHTTP = Nothing
    Set objStream = Nothing
End Sub
作者: million2billion    時間: 2013-12-31 10:48

請教 J大,
"application/x-www-form-urlencoded" 是否應改成 "application/csv"
感謝您~~~~
作者: million2billion    時間: 2013-12-31 10:54

回復 2# joey0415


    感謝J大,
如您所說! 修改字串就OK了~~

謝謝您~~~~
作者: kcl00168    時間: 2013-12-31 20:23

請問m大如何修改字串?可以post上來嗎,我也正在學習,無限感恩!!
作者: million2billion    時間: 2013-12-31 21:13

回復 6# kcl00168

依照J 大的提示, 修改這一個位址, 就可以了~~
原本的: http://www.gretai.org.tw/ch/stock/aftertrading/broker_trading/download_ALLCSV.php
修改後: http://www.gretai.org.tw/ch/stock/aftertrading/broker_trading/download_ALLCSV.php?curstk=1558&stk_date=1021230

證交所有時會改過來又改過去~真的是@%*&#.,^#
作者: kcl00168    時間: 2013-12-31 21:57

感謝大大回復,我改以後不能下載,不知您能下載嗎?我都停留在 .send "curstk=" & stockid & "&stk_date=" & webdate
作者: million2billion    時間: 2013-12-31 23:13

回復 8# kcl00168


    我有些檔案下載也不完全,情況跟您述說的狀況一樣~~~
傷腦筋了~~~~
作者: million2billion    時間: 2013-12-31 23:17

回復 9# million2billion

server端改版後, 不知道是不穩還是會擋ㄝ~~~~現在連網頁也進不去. 網頁訊息如下!


糟糕!Google 瀏覽器無法連線至 www.gretai.org.tw

請重新載入: www.-gretai.-org.-tw/-ch/-stock/-aftertrading/-broker_trading/-brokerBS.-php
作者: kcl00168    時間: 2014-1-1 00:30

一改版天下亂,這就是公家機關不負責任的地方,一些軟體公司員工現在還在加班,因為連網站都開不了,資料無法取得,不知如何是好!唉!米蟲!
作者: million2billion    時間: 2014-1-1 00:38

回復 11# kcl00168


    K大, 新年快樂~
我早上改過位址後, 下載禮拜一的資料正常, 晚上後準備下載禮拜二ㄉ資料又開始不穩定了∼∼∼
我快哭ㄌ∼∼∼∼嗚嗚嗚∼∼
作者: kcl00168    時間: 2014-1-1 00:48

現在就算想手動下載檔案也不行,因為網站進不去,那些股票軟體公司的員工心理一定很嘔,不能跨年,還要耗在公司等爺們賞賜資料,真可憐,祝所有人新年快樂!
作者: million2billion    時間: 2014-1-2 15:24

回復 2# joey0415

joey 大大,
更改字串後, 只能下載到標頭而已, 交易資料都是空白, 所以目前還是只能用手動下載!
請教您! 是否網址有變? 還是能有其他解法?
謝謝您!
作者: joey0415    時間: 2014-1-2 18:12

很正常哦!沒有問題哦

用get不是post
作者: million2billion    時間: 2014-1-2 20:58

回復 15# joey0415


感謝Joey大大,
目前下載順暢, 這次櫃台網站改版後, 還是有點卡卡的! 只能加一些容錯處哩!
謝謝您!
作者: joey0415    時間: 2014-1-2 21:34

回復 16# million2billion

會嗎!上櫃抓檔一直很快,即使換版還是如此,上市比較煩人就是…
作者: million2billion    時間: 2014-1-2 22:30

回復 17# joey0415


    晚一點再來重新下載, 謝謝您!

J大, 有您真好~~~~感恩!!
作者: white5168    時間: 2014-1-3 13:38

m大,是參考iinfo的程式碼嗎?
他已經修正了,可以去下載測測看,連結出處 http://white5168.blogspot.tw/2012/10/excel-vba.html#.UsZLU9IW2E7
作者: ilikemlb540    時間: 2014-1-6 12:29

的確改版了,自己也花了點時間修改

網址類似

http://www.gretai.org.tw/ch/stock/aftertrading/broker_trading/download_ALLCSV.php?curstk=1558&stk_date=1021230

其餘自行修改
作者: million2billion    時間: 2014-1-15 10:23

本帖最後由 million2billion 於 2014-1-15 10:24 編輯

回復 19# white5168


    W大, 感謝您!
我也是用delay 來防止鎖IP. 不過下載速度變慢好多!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)