返回列表 上一主題 發帖

[發問] 請高手解惑幫忙! 上櫃網站又改版了!抓不到資料

[發問] 請高手解惑幫忙! 上櫃網站又改版了!抓不到資料

各位高手大大好
小弟原本參考別人網上用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

感謝您~~~~
Happy

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

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

網址類似

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

其餘自行修改

TOP

回復 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
Happy

TOP

請教 J大,
"application/x-www-form-urlencoded" 是否應改成 "application/csv"
感謝您~~~~
Happy

TOP

回復 2# joey0415


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

謝謝您~~~~
Happy

TOP

請問m大如何修改字串?可以post上來嗎,我也正在學習,無限感恩!!

TOP

回復 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

證交所有時會改過來又改過去~真的是@%*&#.,^#
Happy

TOP

感謝大大回復,我改以後不能下載,不知您能下載嗎?我都停留在 .send "curstk=" & stockid & "&stk_date=" & webdate

TOP

回復 8# kcl00168


    我有些檔案下載也不完全,情況跟您述說的狀況一樣~~~
傷腦筋了~~~~
Happy

TOP

回復 9# million2billion

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


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

請重新載入: www.-gretai.-org.-tw/-ch/-stock/-aftertrading/-broker_trading/-brokerBS.-php
Happy

TOP

        靜思自在 : 不怕事多,只怕多事。
返回列表 上一主題