使用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套件來爬取台灣證券交易所網站上的股價資料。

53會員
112內容數
這裡將以輕鬆風格,深入探討程式設計的基礎和高級概念。從程式語言到演算法,我們將以易懂的方式解釋每個主題,讓你輕鬆掌握。無論你是初學者或有經驗者,都能在這裡找到適合你的內容。無論你的目標是成為專業開發者還是擴展知識,我們都會陪伴你一同成長!
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
使用R和SPSS做Groupmean centeringGroupmean centering是一種常用的資料預處理方法,特別是多層次分析,若要使用Rights & Sterba (2019)(2019) 發展出R2 (R&S),要對需要將層次1的變項和交互作用都 Groupmean centering。本文介紹使用R和SPSS操作方法
Thumbnail
avatar
Dr. Rover
2023-11-23
如何使用 Hugo 和 Azure 搭建高效能且低成本的網站?你想要搭建一個既經濟實惠、高性能、可擴展且安全的網站,而又無需管理繁瑣後台的工作和懂編碼技術嗎? 今天,我將分享一個高性價比的解決方案,幫助你在微軟 Azure Static App靜態應用的服務上,使用 Hugo 構建一個高性能且安全的網站。 最棒的是什麼? 你甚至不需要了解任何編程知識
Thumbnail
avatar
Eric Wei
2023-11-18
如何使用Snipping和chatgpt快速把論文上的數學公式轉化成程式碼 這篇文章會展示一下如何使用現代化工具,快速把論文上的公式轉換成程式碼 1.首先到 https://accounts.mathpix.com/login 網站註冊一個帳號並下載snipping 這個軟體是專門讓使用者利用截圖的方式把數學式子轉化成LATEX格式 我以一個論文看到的演算法為範例 好然後
Thumbnail
avatar
于正龍(Ricky)
2023-05-27
紐西蘭將全面禁止PFHxS及其鹽類和相關化合物,禁止其生產、使用和進口2023年2月20日,紐西蘭環保署(EPA)計畫將全氟己烷磺酸(PFHxS)及其鹽類和相關化合物納入《有害物質和有機體法案》(HSNO)管控,並就此發起線上意見徵詢,徵詢截止日為4月5日。
Thumbnail
avatar
台灣瑞歐國際科技有限公司
2023-03-17
不鏽鋼炒鍋-開鍋、使用和養護|不鏽鋼炒鍋如何不沾、煎蛋、煎豆腐、炒飯實測、何謂萊頓弗倫斯特現象|Stainless st鍋子沒有絕對的好壞,端看使用者如何「正確」的使用它,只要使用順手,就是好鍋!!
Thumbnail
avatar
碼農ㄟ譟咖
2022-09-02
使用 Django 和 Dev.to API 顯示帖子作為開發人員,您可能想知道是否需要博客。老實說,我寫博客已經有一段時間了,我只能告訴你,在你的網站上擁有一個博客有很大的好處。假設您有一個網站,您在該網站上擁有投資組合併銷售產品或服務。您如何為您的網站帶來更多流量,以便潛在的招聘人員或客戶能夠發現您的產品或服務? 先決條件 項目設置 文章正文
Thumbnail
avatar
Lesley Selaludicakiti
2022-07-27
【數位教養不卡關 #1】王宏哲:孩子為何沉迷網路和手機?家庭使用3C建議你是否擔心孩子有網路沉迷的狀況?要如何減低家中兒童3C網路沉迷的風險呢? 對此,兒童發展專家王宏哲便分享了自身的觀察及好用的3C親子溝通法供各位家長參考。其認為家長可從「依年齡層調整使用3C時間」、「和孩子的約定」兩個面向著手!
Thumbnail
avatar
台灣展翅協會
2022-07-21
關於太赫茲健康水儀的使用和太赫茲好水的飲用提示《關於太赫茲健康水儀的使用和太赫茲好水的飲用提示》 📷 📷📷​ 喝了太赫茲好水有任何反應,可對照好轉反應狀況表,瞭解自已的身體狀況,不必害怕,您離健康更進一步了,請繼續飲用! 請正確使用太赫茲健康水儀,科技讓你生活更精彩。 ⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜
Thumbnail
avatar
Head團長 太赫茲水儀
2021-12-28
為何使用交友軟體是一件好事?說來會寫這篇文章的動機,莫過於我遇到最奇妙的事是: 你和你的朋友/對象明明在交友軟體上相遇, 卻會彼此提醒「交友軟體是垃圾場,不要抱持太多期待」的這件事情了。 於是於是,今天,我想在此,替交友軟體除去污名化!
Thumbnail
avatar
吳貳說
2021-08-24
【燒牛扒神器】喜馬拉雅山粉紅岩鹽板的使用和保養 喜馬拉雅山粉紅岩鹽板 除了鑄鐵、不鏽鋼等一般廚房用具外,一塊喜馬拉雅鹽是天然調味品,只需像煎鍋一樣加熱鹽盤,即可在鹽盤中煎炸食材。顧名思義,鹽田原產於喜馬拉雅山脈,通常在山腳下用手挖得很深,切成各種大小的盤子。 喜馬拉雅山原本是海床,由於地殼的變化,它成為了世界上最高的山峰。經過數千年的高溫擠壓,
Thumbnail
avatar
淨。鹽燈香港
2021-07-16