使用C#和HtmlAgilityPack套件爬取台灣證券交易所股價資料

閱讀時間約 4 分鐘

在本教學中,我們將介紹如何使用C#語言以及HtmlAgilityPack套件來爬取台灣證券交易所網站上特定股票的股價資料。以下是我們將要完成的步驟:


設定專案及安裝套件

首先,我們需要建立一個新的C#專案。打開Visual Studio,建立一個新的Windows Form或Console專案。接著,我們需要安裝HtmlAgilityPack套件。在NuGet套件管理器中,搜索並安裝HtmlAgilityPack。

編寫程式碼

接下來,我們將編寫程式碼來爬取股價資料。請在程式中加入以下程式碼:

using System;
using System.Threading.Tasks;
using HtmlAgilityPack;

namespace StockPriceCrawler
{
class Program
{
static async Task Main(string[] args)
{
var stockCode = "2330"; // 要查詢的股票代號
var url = $"https://www.twse.com.tw/exchangeReport/STOCK_DAY?response=html&stockNo={stockCode}";
var config = Configuration.Default.WithDefaultLoader(); // 建立HtmlAgilityPack套件的設定物件
var context = BrowsingContext.New(config); // 建立BrowsingContext物件,用於載入網頁並解析
var document = await context.OpenAsync(url); // 開啟查詢網址所指向的網頁,取得網頁的Html文檔
var table = document.QuerySelector<IHtmlTableElement>("table"); // 取得表格元素
var rows = table.Rows; // 取得表格所有的列
var stockStr = ""; // 用來儲存股價資料的字串
foreach (var row in rows) // 逐一遍歷表格中的每一列
{
var cells = row.Cells; // 取得每一列的所有欄位
foreach (var cell in cells) // 逐一遍歷每一列中的欄位資料
{
stockStr += cell.TextContent + "\t"; // 將欄位資料拼接成字串,以Tab分隔
}
stockStr += "\n"; // 換行
}
Console.WriteLine(stockStr);
}
}
}

執行程式

完成程式碼後,我們可以按下F5鍵執行程式。程式將會爬取台灣證券交易所網站上股票代號為2330的股價資料,並輸出到控制台。

注意事項

  • 請確保安裝了HtmlAgilityPack套件。
  • 請確保網頁結構沒有變化,否則可能需要調整程式碼以匹配新的結構。

透過這個教學,你可以學會如何使用C#和HtmlAgilityPack套件來爬取台灣證券交易所網站上的股價資料。

64會員
118內容數
這裡將以輕鬆風格,深入探討程式設計的基礎和高級概念。從程式語言到演算法,我們將以易懂的方式解釋每個主題,讓你輕鬆掌握。無論你是初學者或有經驗者,都能在這裡找到適合你的內容。無論你的目標是成為專業開發者還是擴展知識,我們都會陪伴你一同成長!
留言0
查看全部
發表第一個留言支持創作者!
程式輕鬆玩 的其他內容
在程式設計中,我們經常會遇到需要重複執行某段程式碼的情況,例如列印星期幾、處理資料、或者檢查使用者輸入。為了有效地處理這類任務,我們可以使用迴圈。在 C# 中,最常見的迴圈包括 for 迴圈和 while 迴圈。本文將介紹這兩種迴圈的基本語法和應用場景。
在開發應用程式時,常常需要設定一些參數或選項,以便於後續調整和管理。在 .NET 中,我們可以使用 App.config 檔案來存儲這些設定,並且可以通過 C# 代碼來讀取和寫入這些設定。本文將介紹如何使用 C# 操作 App.config 檔案中的設定。
在這篇教學中,我們將使用 C# 和 Microsoft.Office.Interop.Excel 庫將圖片插入到 Excel 試算表中。
在進行資訊輸入的過程中,經常需要在不同語言的文字之間切換輸入法,這可能會影響效率。不過,透過程式設計的方法,我們可以實現在選取到需要輸入中文的輸入框時自動切換到中文輸入法,讓操作更加便利。在這篇文章中,我們將介紹兩種實現自動切換中文輸入法的方法,一種是切換輸入法,另一種是使用IME輸入法。
在C#程式開發中,有時候我們需要透過Outlook來發送郵件。這篇教學將會教你如何使用Microsoft.Office.Interop.Outlook來完成這個任務。
在開發應用程式時,經常會遇到需要調整圖片大小以節省空間或加快加載速度的情況。本教學將介紹如何使用 C# 語言來壓縮圖片並調整其大小,以便在應用程式中使用。
在程式設計中,我們經常會遇到需要重複執行某段程式碼的情況,例如列印星期幾、處理資料、或者檢查使用者輸入。為了有效地處理這類任務,我們可以使用迴圈。在 C# 中,最常見的迴圈包括 for 迴圈和 while 迴圈。本文將介紹這兩種迴圈的基本語法和應用場景。
在開發應用程式時,常常需要設定一些參數或選項,以便於後續調整和管理。在 .NET 中,我們可以使用 App.config 檔案來存儲這些設定,並且可以通過 C# 代碼來讀取和寫入這些設定。本文將介紹如何使用 C# 操作 App.config 檔案中的設定。
在這篇教學中,我們將使用 C# 和 Microsoft.Office.Interop.Excel 庫將圖片插入到 Excel 試算表中。
在進行資訊輸入的過程中,經常需要在不同語言的文字之間切換輸入法,這可能會影響效率。不過,透過程式設計的方法,我們可以實現在選取到需要輸入中文的輸入框時自動切換到中文輸入法,讓操作更加便利。在這篇文章中,我們將介紹兩種實現自動切換中文輸入法的方法,一種是切換輸入法,另一種是使用IME輸入法。
在C#程式開發中,有時候我們需要透過Outlook來發送郵件。這篇教學將會教你如何使用Microsoft.Office.Interop.Outlook來完成這個任務。
在開發應用程式時,經常會遇到需要調整圖片大小以節省空間或加快加載速度的情況。本教學將介紹如何使用 C# 語言來壓縮圖片並調整其大小,以便在應用程式中使用。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
Groupmean centering是一種常用的資料預處理方法,特別是多層次分析,若要使用Rights & Sterba (2019)(2019) 發展出R2 (R&S),要對需要將層次1的變項和交互作用都 Groupmean centering。本文介紹使用R和SPSS操作方法
Thumbnail
你想要搭建一個既經濟實惠、高性能、可擴展且安全的網站,而又無需管理繁瑣後台的工作和懂編碼技術嗎? 今天,我將分享一個高性價比的解決方案,幫助你在微軟 Azure Static App靜態應用的服務上,使用 Hugo 構建一個高性能且安全的網站。 最棒的是什麼? 你甚至不需要了解任何編程知識
Thumbnail
這篇文章會展示一下如何使用現代化工具,快速把論文上的公式轉換成程式碼 1.首先到 https://accounts.mathpix.com/login 網站註冊一個帳號並下載snipping 這個軟體是專門讓使用者利用截圖的方式把數學式子轉化成LATEX格式 我以一個論文看到的演算法為範例 好然後
Thumbnail
2023年2月20日,紐西蘭環保署(EPA)計畫將全氟己烷磺酸(PFHxS)及其鹽類和相關化合物納入《有害物質和有機體法案》(HSNO)管控,並就此發起線上意見徵詢,徵詢截止日為4月5日。
Thumbnail
作為開發人員,您可能想知道是否需要博客。老實說,我寫博客已經有一段時間了,我只能告訴你,在你的網站上擁有一個博客有很大的好處。假設您有一個網站,您在該網站上擁有投資組合併銷售產品或服務。您如何為您的網站帶來更多流量,以便潛在的招聘人員或客戶能夠發現您的產品或服務? 先決條件 項目設置 文章正文
Thumbnail
你是否擔心孩子有網路沉迷的狀況?要如何減低家中兒童3C網路沉迷的風險呢? 對此,兒童發展專家王宏哲便分享了自身的觀察及好用的3C親子溝通法供各位家長參考。其認為家長可從「依年齡層調整使用3C時間」、「和孩子的約定」兩個面向著手!
Thumbnail
《關於太赫茲健康水儀的使用和太赫茲好水的飲用提示》 📷 📷📷​ 喝了太赫茲好水有任何反應,可對照好轉反應狀況表,瞭解自已的身體狀況,不必害怕,您離健康更進一步了,請繼續飲用! 請正確使用太赫茲健康水儀,科技讓你生活更精彩。 ⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜
Thumbnail
說來會寫這篇文章的動機,莫過於我遇到最奇妙的事是: 你和你的朋友/對象明明在交友軟體上相遇, 卻會彼此提醒「交友軟體是垃圾場,不要抱持太多期待」的這件事情了。 於是於是,今天,我想在此,替交友軟體除去污名化!
Thumbnail
喜馬拉雅山粉紅岩鹽板 除了鑄鐵、不鏽鋼等一般廚房用具外,一塊喜馬拉雅鹽是天然調味品,只需像煎鍋一樣加熱鹽盤,即可在鹽盤中煎炸食材。顧名思義,鹽田原產於喜馬拉雅山脈,通常在山腳下用手挖得很深,切成各種大小的盤子。 喜馬拉雅山原本是海床,由於地殼的變化,它成為了世界上最高的山峰。經過數千年的高溫擠壓,
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
Groupmean centering是一種常用的資料預處理方法,特別是多層次分析,若要使用Rights & Sterba (2019)(2019) 發展出R2 (R&S),要對需要將層次1的變項和交互作用都 Groupmean centering。本文介紹使用R和SPSS操作方法
Thumbnail
你想要搭建一個既經濟實惠、高性能、可擴展且安全的網站,而又無需管理繁瑣後台的工作和懂編碼技術嗎? 今天,我將分享一個高性價比的解決方案,幫助你在微軟 Azure Static App靜態應用的服務上,使用 Hugo 構建一個高性能且安全的網站。 最棒的是什麼? 你甚至不需要了解任何編程知識
Thumbnail
這篇文章會展示一下如何使用現代化工具,快速把論文上的公式轉換成程式碼 1.首先到 https://accounts.mathpix.com/login 網站註冊一個帳號並下載snipping 這個軟體是專門讓使用者利用截圖的方式把數學式子轉化成LATEX格式 我以一個論文看到的演算法為範例 好然後
Thumbnail
2023年2月20日,紐西蘭環保署(EPA)計畫將全氟己烷磺酸(PFHxS)及其鹽類和相關化合物納入《有害物質和有機體法案》(HSNO)管控,並就此發起線上意見徵詢,徵詢截止日為4月5日。
Thumbnail
作為開發人員,您可能想知道是否需要博客。老實說,我寫博客已經有一段時間了,我只能告訴你,在你的網站上擁有一個博客有很大的好處。假設您有一個網站,您在該網站上擁有投資組合併銷售產品或服務。您如何為您的網站帶來更多流量,以便潛在的招聘人員或客戶能夠發現您的產品或服務? 先決條件 項目設置 文章正文
Thumbnail
你是否擔心孩子有網路沉迷的狀況?要如何減低家中兒童3C網路沉迷的風險呢? 對此,兒童發展專家王宏哲便分享了自身的觀察及好用的3C親子溝通法供各位家長參考。其認為家長可從「依年齡層調整使用3C時間」、「和孩子的約定」兩個面向著手!
Thumbnail
《關於太赫茲健康水儀的使用和太赫茲好水的飲用提示》 📷 📷📷​ 喝了太赫茲好水有任何反應,可對照好轉反應狀況表,瞭解自已的身體狀況,不必害怕,您離健康更進一步了,請繼續飲用! 請正確使用太赫茲健康水儀,科技讓你生活更精彩。 ⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜
Thumbnail
說來會寫這篇文章的動機,莫過於我遇到最奇妙的事是: 你和你的朋友/對象明明在交友軟體上相遇, 卻會彼此提醒「交友軟體是垃圾場,不要抱持太多期待」的這件事情了。 於是於是,今天,我想在此,替交友軟體除去污名化!
Thumbnail
喜馬拉雅山粉紅岩鹽板 除了鑄鐵、不鏽鋼等一般廚房用具外,一塊喜馬拉雅鹽是天然調味品,只需像煎鍋一樣加熱鹽盤,即可在鹽盤中煎炸食材。顧名思義,鹽田原產於喜馬拉雅山脈,通常在山腳下用手挖得很深,切成各種大小的盤子。 喜馬拉雅山原本是海床,由於地殼的變化,它成為了世界上最高的山峰。經過數千年的高溫擠壓,