Excel VBA 簡易爬蟲

閱讀時間約 4 分鐘
首先用Chrome瀏覽器,在證交所的目標數據網頁上按F12,在Network、All、Headers項目下,逐一點選網頁的Name,然後搭配網頁選單的擾動,就能判斷正確的還原網址。以每5秒委託成交統計為例,還原的網址為
https://www.twse.com.tw/exchangeReport/MI_5MINS?response=json&date=20220105
有了網址後,就利用Excel VBA來做一隻簡單的網頁爬蟲

Option Explicit
Sub CatchWebData()
Dim urlText As String
Dim NumDate As String
Dim Path As String
NumDate = "20220105"
Path = "D:\" + NumDate + "證交所五秒數據.txt"
urlText = "https://www.twse.com.tw/exchangeReport/MI_5MINS?response=json&date="
urlText = urlText + NumDate
'台灣證券交易所,五秒委託、成交量,每日共計3241筆
'Part1 使用Late Binding方式,避免引用程序
Dim myXML As Object '宣告物件
Set myXML = CreateObject("Microsoft.XMLHTTP") '物件繼承XMLHTTP功能
'Part2 抓取資料
Dim myText As String
myXML.Open "GET", urlText, False '開啟目標網頁,開啟方法為GET
myXML.send '送出請求
myText = myXML.responseText '伺服器回傳資料,本機電腦用myText接收Set myXML = Nothing
'myText字串內容可以參考實際證交所網頁
'https://www.twse.com.tw/exchangeReport/MI_5MINS?response=json&date=20220105
'Part3 整理字串,JSON字串有固定格式{}、[]
Dim ii, x, y, z As Variant
x = InStr(1, myText, ":[[") + 3 '所需字串資料起點位置
y = InStr(1, myText, "]],") '所需字串資料末端位置
myText = Mid(myText, x, y - x) '重新抓取所需的字串資料,剃除頭尾不需要的資料
z = Split(myText, "],[") '利用拆字串函數,將分解後的集合,存入陣列之中
'Debug.Print z(0)
'Debug.Print z(3240)
Open Path For Append As #1 'Excel VBA 寫出到外部文字檔,使用Append、Print方法
Print #1, "時間;委買筆;委買量;委賣筆;委賣量;成交筆;成交量;成交金額"
Close #1
For ii = 0 To 3240
z(ii) = Replace(z(ii), Chr(34) & "," & Chr(34), ";") '整理資料:將資料間的逗號改為分號
z(ii) = Replace(z(ii), Chr(34), "") '整理資料:去除資料間的引號
Open Path For Append As #1
Print #1, z(ii)
Close #1
Next ii
End Sub
為什麼會看到廣告
    avatar-img
    21會員
    112內容數
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    Piemann的沙龍 的其他內容
    波動度壓縮後,等待突破訊號,是提高勝算的好構想, 以下是內困型態發生後的突破策略程式碼
    拋物線SAR(Stop and Reverse),好用的出場概念,但是常常被搞錯認為是進場的邏輯,廢話不多說,請參考程式碼的出場部分
    假如你有日本東京與澳洲雪梨的月均溫時間序列資料,你想比較兩個城市誰比較熱,透過檢定方法以及假定參數的條件,可以挑選適合的檢定方法以完成任務。不過有更直覺與視覺化的方式可以處理與比較這些資料,那就是雷達圖 !
    有些突發事件無法被預測或是不那麼清楚的可以被預測,因此市場行情的波動有時會令人措手不及
    這個是經典的突破策略,我自己的原始設計是 Range>Highest(Range,500)[1],用這個來捕捉大波動
    這個是利用均線判別多空力道的方法
    波動度壓縮後,等待突破訊號,是提高勝算的好構想, 以下是內困型態發生後的突破策略程式碼
    拋物線SAR(Stop and Reverse),好用的出場概念,但是常常被搞錯認為是進場的邏輯,廢話不多說,請參考程式碼的出場部分
    假如你有日本東京與澳洲雪梨的月均溫時間序列資料,你想比較兩個城市誰比較熱,透過檢定方法以及假定參數的條件,可以挑選適合的檢定方法以完成任務。不過有更直覺與視覺化的方式可以處理與比較這些資料,那就是雷達圖 !
    有些突發事件無法被預測或是不那麼清楚的可以被預測,因此市場行情的波動有時會令人措手不及
    這個是經典的突破策略,我自己的原始設計是 Range>Highest(Range,500)[1],用這個來捕捉大波動
    這個是利用均線判別多空力道的方法
    你可能也想看
    Google News 追蹤
    Thumbnail
    對於剛接觸Python程式的使用者來說,要一口氣學會爬蟲可能相對困難,但若想即時且輕鬆獲得台股相關數據,你可以利用證交所所提供的API進行數據蒐集。只需要簡單幾行程式碼,就能輕鬆抓到台股上千支股票的每日資訊,是不是棒呆了!!
    Thumbnail
    個股當沖完整記錄目前也會放上來做紀錄,其實量化自動交易就是完成實際上的回測數據,接下來就是嚴格執行,過程中不能干預,並維持確保系統正常執行,並持續開發新策略即可。
    Thumbnail
    本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
    Thumbnail
    因為工作的關係,需要在EXCEL產生和台股有關的資訊。 要抓取台股的方式有很多,譬如說用EXCEL 現在的功能從網頁匯入,但是畢竟愛寫程式的人就是因為懶,不想每次都用滑鼠點點點,所以就想要如何用VBA克服。 還好研究了一下,備齊以下幾個工具,就可以了。 (1)要有一個可以解析JSON格式的Li
    Thumbnail
    設計完一覽表之後,如果會寫程式的人可以每天用這種方法去抓資料放到Excel. 那不會寫程式的人呢? 這裡教你一個稍微要花點時間的輸出Excel的方法。 在上禮拜完成的自選裡。   一、  你先依下圖,在“功能”中找到”輸出到Excel”,按下報價精靈 二、  選擇全部加入,按下全部加
    Thumbnail
      本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。
    Thumbnail
    日期與時間在職場上肯定是常常會遇到的一個課題,這集來分享EXCEL資料中,如果有日期與時間,那麼如何快速把他們提取出來 下圖為例,B欄的資料包含了日期與時間,想要將日期提取到C欄,時間提取到D欄,要怎麼做會比較快速呢? ▶️影片教學 看教學影片之前可以先下載練習檔,學中做、做中
    Thumbnail
    之前有分享過GOOGLE SHEET可以用函數快速取得股票價格,那EXCEL如果要取得股票價格有沒有辦法呢? EXCEL取得股票的方法有超多種,這集要介紹最簡單的方式,完全不用寫任何函數,只要有滑鼠就可以了!! ▶️短片介紹 看教學影片之前可以先下載練習檔,學中做、做中學效果更好哦。
    Thumbnail
    本文章內容主要是讓你學會使用證券交易所提供的資料來源,自行整理籌碼資訊的方法。教學內容包括瞭解三大法人買賣金額、信用交易統計、市場成交資訊等,並提供了Excel匯入資料的操作步驟。透過此教學,快速上手去抓取您所需要的資料。
    Thumbnail
      本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。閱讀者可以從中獲得交易策略方面的參考,並瞭解相關風險和盈虧。
    Thumbnail
    對於剛接觸Python程式的使用者來說,要一口氣學會爬蟲可能相對困難,但若想即時且輕鬆獲得台股相關數據,你可以利用證交所所提供的API進行數據蒐集。只需要簡單幾行程式碼,就能輕鬆抓到台股上千支股票的每日資訊,是不是棒呆了!!
    Thumbnail
    個股當沖完整記錄目前也會放上來做紀錄,其實量化自動交易就是完成實際上的回測數據,接下來就是嚴格執行,過程中不能干預,並維持確保系統正常執行,並持續開發新策略即可。
    Thumbnail
    本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
    Thumbnail
    因為工作的關係,需要在EXCEL產生和台股有關的資訊。 要抓取台股的方式有很多,譬如說用EXCEL 現在的功能從網頁匯入,但是畢竟愛寫程式的人就是因為懶,不想每次都用滑鼠點點點,所以就想要如何用VBA克服。 還好研究了一下,備齊以下幾個工具,就可以了。 (1)要有一個可以解析JSON格式的Li
    Thumbnail
    設計完一覽表之後,如果會寫程式的人可以每天用這種方法去抓資料放到Excel. 那不會寫程式的人呢? 這裡教你一個稍微要花點時間的輸出Excel的方法。 在上禮拜完成的自選裡。   一、  你先依下圖,在“功能”中找到”輸出到Excel”,按下報價精靈 二、  選擇全部加入,按下全部加
    Thumbnail
      本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。
    Thumbnail
    日期與時間在職場上肯定是常常會遇到的一個課題,這集來分享EXCEL資料中,如果有日期與時間,那麼如何快速把他們提取出來 下圖為例,B欄的資料包含了日期與時間,想要將日期提取到C欄,時間提取到D欄,要怎麼做會比較快速呢? ▶️影片教學 看教學影片之前可以先下載練習檔,學中做、做中
    Thumbnail
    之前有分享過GOOGLE SHEET可以用函數快速取得股票價格,那EXCEL如果要取得股票價格有沒有辦法呢? EXCEL取得股票的方法有超多種,這集要介紹最簡單的方式,完全不用寫任何函數,只要有滑鼠就可以了!! ▶️短片介紹 看教學影片之前可以先下載練習檔,學中做、做中學效果更好哦。
    Thumbnail
    本文章內容主要是讓你學會使用證券交易所提供的資料來源,自行整理籌碼資訊的方法。教學內容包括瞭解三大法人買賣金額、信用交易統計、市場成交資訊等,並提供了Excel匯入資料的操作步驟。透過此教學,快速上手去抓取您所需要的資料。
    Thumbnail
      本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。閱讀者可以從中獲得交易策略方面的參考,並瞭解相關風險和盈虧。