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
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
MySQL(MariaDB)是一套非常流行的資料庫系統,因為它開源、免費,幾乎是每一個人架站者的首選資料庫。 Microsoft Excel 更不用說,它是辦公室必備神器,老闆愛用來看報表,所以工程師們一定要會使用它。 今天我們要把 Excel資料寫入MySQL,除了用MySQL的一些管理軟體外
Thumbnail
在 Excel 中,我們經常需要根據儲存格的內容來自動更改其格式,這不僅能使數據更直觀,也有助於提升工作效率。本文將介紹如何使用 VBA 程式碼來實現自動更改儲存格顏色的功能,依據輸入的儲存格內容及其所在列的第一列值進行判斷。
Thumbnail
在這篇教學中,我們將介紹如何使用 Excel VBA 來發送訊息到 LINE Notify。LINE Notify 是 LINE 提供的服務,可以透過 API 發送訊息到 LINE 上。這篇教學將帶你步驟一步完成設置。
Thumbnail
對於剛接觸Python程式的使用者來說,要一口氣學會爬蟲可能相對困難,但若想即時且輕鬆獲得台股相關數據,你可以利用證交所所提供的API進行數據蒐集。只需要簡單幾行程式碼,就能輕鬆抓到台股上千支股票的每日資訊,是不是棒呆了!!
Thumbnail
個股當沖完整記錄目前也會放上來做紀錄,其實量化自動交易就是完成實際上的回測數據,接下來就是嚴格執行,過程中不能干預,並維持確保系統正常執行,並持續開發新策略即可。
Thumbnail
本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
Thumbnail
因為工作的關係,需要在EXCEL產生和台股有關的資訊。 要抓取台股的方式有很多,譬如說用EXCEL 現在的功能從網頁匯入,但是畢竟愛寫程式的人就是因為懶,不想每次都用滑鼠點點點,所以就想要如何用VBA克服。 還好研究了一下,備齊以下幾個工具,就可以了。 (1)要有一個可以解析JSON格式的Li
Thumbnail
不會寫Excel VBA不再是問題了!如何讓數據說話,是職場必備的技巧!而Excel又是搜集數據的好工具,今天石頭哥帶你透過ChatGPT 來神救援!
Thumbnail
設計完一覽表之後,如果會寫程式的人可以每天用這種方法去抓資料放到Excel. 那不會寫程式的人呢? 這裡教你一個稍微要花點時間的輸出Excel的方法。 在上禮拜完成的自選裡。   一、  你先依下圖,在“功能”中找到”輸出到Excel”,按下報價精靈 二、  選擇全部加入,按下全部加
Thumbnail
本文介紹如何利用Excel VBA抓取券商分點原始資料,並透過數據整理及圖表設計,追蹤券商的買賣超情況,以及觀察市場變動。透過分析券商分點資料,投資者能夠洞察市場參與者行為,捕捉市場變化,並制定更有效的投資計劃。
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
MySQL(MariaDB)是一套非常流行的資料庫系統,因為它開源、免費,幾乎是每一個人架站者的首選資料庫。 Microsoft Excel 更不用說,它是辦公室必備神器,老闆愛用來看報表,所以工程師們一定要會使用它。 今天我們要把 Excel資料寫入MySQL,除了用MySQL的一些管理軟體外
Thumbnail
在 Excel 中,我們經常需要根據儲存格的內容來自動更改其格式,這不僅能使數據更直觀,也有助於提升工作效率。本文將介紹如何使用 VBA 程式碼來實現自動更改儲存格顏色的功能,依據輸入的儲存格內容及其所在列的第一列值進行判斷。
Thumbnail
在這篇教學中,我們將介紹如何使用 Excel VBA 來發送訊息到 LINE Notify。LINE Notify 是 LINE 提供的服務,可以透過 API 發送訊息到 LINE 上。這篇教學將帶你步驟一步完成設置。
Thumbnail
對於剛接觸Python程式的使用者來說,要一口氣學會爬蟲可能相對困難,但若想即時且輕鬆獲得台股相關數據,你可以利用證交所所提供的API進行數據蒐集。只需要簡單幾行程式碼,就能輕鬆抓到台股上千支股票的每日資訊,是不是棒呆了!!
Thumbnail
個股當沖完整記錄目前也會放上來做紀錄,其實量化自動交易就是完成實際上的回測數據,接下來就是嚴格執行,過程中不能干預,並維持確保系統正常執行,並持續開發新策略即可。
Thumbnail
本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
Thumbnail
因為工作的關係,需要在EXCEL產生和台股有關的資訊。 要抓取台股的方式有很多,譬如說用EXCEL 現在的功能從網頁匯入,但是畢竟愛寫程式的人就是因為懶,不想每次都用滑鼠點點點,所以就想要如何用VBA克服。 還好研究了一下,備齊以下幾個工具,就可以了。 (1)要有一個可以解析JSON格式的Li
Thumbnail
不會寫Excel VBA不再是問題了!如何讓數據說話,是職場必備的技巧!而Excel又是搜集數據的好工具,今天石頭哥帶你透過ChatGPT 來神救援!
Thumbnail
設計完一覽表之後,如果會寫程式的人可以每天用這種方法去抓資料放到Excel. 那不會寫程式的人呢? 這裡教你一個稍微要花點時間的輸出Excel的方法。 在上禮拜完成的自選裡。   一、  你先依下圖,在“功能”中找到”輸出到Excel”,按下報價精靈 二、  選擇全部加入,按下全部加
Thumbnail
本文介紹如何利用Excel VBA抓取券商分點原始資料,並透過數據整理及圖表設計,追蹤券商的買賣超情況,以及觀察市場變動。透過分析券商分點資料,投資者能夠洞察市場參與者行為,捕捉市場變化,並制定更有效的投資計劃。