using System; using System.Windows.Forms; using AngleSharp;//使用angleSharp套件 using AngleSharp.Dom; using AngleSharp.Html.Dom; namespace ProjectOfTesting { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private async void Form1_Load(object sender, EventArgs e) { 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); } } }