iT邦幫忙

0

請教一下大家,看書本的抓上市資料,以下是我的程式碼跟執行結果,但之後想抓yahoo上櫃資料,可是上櫃和上市的網址形式完全一樣,我該怎麼改程式碼才能獲得上櫃的資料呢?

ian 2020-07-10 19:29:401699 瀏覽
Sub 匯入今日股市資料()
    Set ie = CreateObject("internetexplorer.application")
    For Each stock In Range("a1:a28")
        Sheets.Add after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = stock
        ie.navigate "https://tw.stock.yahoo.com/s/list.php?c=" & stock
        Do While ie.readystate <> 4 Or ie.busy
            DoEvents
        Loop
        
        Application.Wait (Now + TimeValue("00:00:05"))
        Set tbl = ie.Document.getElementsByTagName("table")(4)
        Set trs = tbl.getElementsByTagName("tr")
        For i = 0 To trs.Length - 1
            Set tds = trs(i).getElementsByTagName("td")
            If tds.Length = 0 Then Set tds = trs(i).getElementsByTagName("th")
            For j = 0 To tds.Length - 1
                Cells(i + 1, j + 1) = tds(j).innertext
            Next
        Next
        Columns(1).Delete
        Columns.AutoFit
    Next
    
End Sub

https://ithelp.ithome.com.tw/upload/images/20200710/20128213QVri88c5sC.png

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2020-07-11 08:33:20
最佳解答

上櫃和上市的資料是同一隻 php
但參數不同
請檢視這裡的原始檔即可

回到你的問題
你想直接用中文串出網址
如果上市是「食品」的話
上櫃就是「櫃食品」
試試看

看更多先前的回應...收起先前的回應...
ian iT邦新手 5 級 ‧ 2020-07-11 09:06:08 檢舉

謝謝你,已經成功抓出資料了,感謝~~

成功就選最佳解答以進行結案動作
還有這題是否已解決或是無解?

ian iT邦新手 5 級 ‧ 2020-07-11 11:07:11 檢舉

好的,已處理完畢

ian iT邦新手 5 級 ‧ 2020-07-11 11:07:34 檢舉

感謝~~

我要發表回答

立即登入回答