Board logo

標題: 取得網頁原始碼的資料 [打印本頁]

作者: pideo    時間: 2015-11-8 12:21     標題: 取得網頁原始碼的資料

請問一下小弟目前想取得http://www.tdcc.com.tw/smWeb/QryStock.jsp這網站的原始代碼中的<option >後的全部日期
[attach]22374[/attach]
以下是小弟參考資料寫的一段
Dim web, url, webdata
    url = "http://www.tdcc.com.tw/smWeb/QryStock.jsp"
    Set web = CreateObject("Microsoft.XMLHTTP")
    web.Open "get", url, False
    web.send
    webdata = Split(web.responseText, "<option >")   <<<<<<<這裡一值顯示錯誤
    For j = 0 To UBound(webdata)
        ThisWorkbook.Worksheets("工作表1").Cells(j + 1, 1).Value = webdata(j)
    Next
End Sub

請問小弟該如何修改才能取得所有日期資料
懇請指導感謝
作者: 准提部林    時間: 2015-11-8 21:24

Sub 取出日期清單()
Dim XML, URL$, TT
[A:A].ClearContents
URL = "http://www.tdcc.com.tw/smWeb/QryStock.jsp" & "?" & Rnd
Set XML = CreateObject("Microsoft.XMLHTTP")
XML.Open "post", URL, False
XML.send
If XML.Status = 200 Then
 With CreateObject("ADODB.Stream")
    .Open
    .Type = 1
    .Write XML.ResponseBody
    .Position = 0
    .Type = 2
    .Charset = "BIG5"
    TT = .ReadText
    .Close
 End With
 TT = Replace(TT, "</option><option >", "_")
 TT = Split(TT, "</option>")(0)
 TT = Split(TT, "<option >")(1)
 TT = Split(TT, "_")
 [A1].Resize(UBound(TT) + 1) = Application.Transpose(TT)
End If
Set XML = Nothing
End Sub
作者: 准提部林    時間: 2015-11-8 21:28

查詢時另存csv檔 

Sub 保戶股權分散表查詢()
Dim XML, URL$, TT, vDate, vNo, vFile$, X, PP$
vDate = [F1]: vNo = [F2]: vFile = vNo & "_" & vDate & ".csv"
URL = "http://www.tdcc.com.tw/smWeb/QryStock.jsp?SCA_DATE=" & vDate & _
   "&SqlMethod=StockNo&StockNo=" & vNo & "&StockName=&sub=%ACd%B8%DF"
Set XML = CreateObject("Microsoft.XMLHTTP")
XML.Open "post", URL, False
XML.send
If XML.Status = 200 Then
 With CreateObject("ADODB.Stream")
    .Open
    .Type = 1
    .Write XML.ResponseBody
        
    .Position = 0
    .Type = 2
    .Charset = "BIG5"
    TT = .ReadText
    .Close
        
    PP = "<table cellspacing=0 cellpadding=0 width=""100%"" border=0>"
    X = Split(TT, PP)
    If UBound(X) < 3 Then Exit Sub
    TT = Replace(X(3) & PP & X(4), "集保戶股權分散表", "")
 
    .Open
    .Writetext TT
    .SaveToFile ThisWorkbook.Path & "\" & vFile, 2
    .Close
    Beep
 End With
End If
Set XML = Nothing
End Sub

附件下載: 
[attach]22378[/attach]

只能提供如上範例,其它請自行套用∼∼
作者: 准提部林    時間: 2015-11-9 10:03

這裡有超板的解法,參考:
http://forum.twbts.com/thread-15067-1-7.html
作者: pideo    時間: 2015-11-9 20:47

真是太感謝大大
小弟學到不少東西
上面的基本上都了解
不過有個小問題想請教一下
URL = "http://www.tdcc.com.tw/smWeb/QryStock.jsp" & "?" & Rnd
這段中的 "?"與Rnd是有什麼作用嗎?
Rnd傳回一段隨機值的功能是?
小弟測試了一下不加好像結果也是一樣沒有影響
可以請大大指導一下嗎
感恩
作者: 准提部林    時間: 2015-11-9 21:12

回復 5# pideo

參考這帖,只能約略說明:
http://forum.twbts.com/thread-15544-1-1.html
作者: pideo    時間: 2015-11-9 23:00

這參考資料真是太棒了
這次真的學到不少
感恩




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