[ASP.NET][C#]使用HtmlAgilityPack(1) 擷取網頁上的股票
增加 四個參考元件 ,等等寫程式會用到
using System.IO;
using HtmlAgilityPack;
using System.Text;
using System.Net;
using System.IO;
using HtmlAgilityPack;
using System.Text;
using System.Net;
//指定來源網頁
WebClient url = new WebClient();
//將網頁來源資料暫存到記憶體內
MemoryStream ms = new MemoryStream(url.DownloadData("http://tw.stock.yahoo.com/q/q?s=1101"));
//以奇摩股市為例http://tw.stock.yahoo.com
//1101 表示為股票代碼
// 使用預設編碼讀入 HTML
HtmlDocument doc = new HtmlDocument();
doc.Load(ms, Encoding.Default);
// 裝載第一層查詢結果
HtmlDocument hdc = new HtmlDocument();
//XPath 來解讀它 /html[1]/body[1]/center[1]/table[2]/tr[1]/td[1]/table[1]
hdc.LoadHtml(doc.DocumentNode.SelectSingleNode("/html[1]/body[1]/center[1]/table[2]/tr[1]/td[1]/table[1]").InnerHtml);
// 取得個股標頭
HtmlNodeCollection htnode = hdc.DocumentNode.SelectNodes("./tr[1]/th");
// 取得個股數值
string[] txt = hdc.DocumentNode.SelectSingleNode("./tr[2]").InnerText.Trim().Split('\n');
int i = 0;
// 輸出資料
foreach (HtmlNode nodeHeader in htnode)
{
//將 "加到投資組合" 這個字串過濾掉
Response.Write(nodeHeader.InnerText + ":" + txt[i].Trim().Replace("加到投資組合", "") + "
");
i++;
}
//清除資料
doc = null;
hdc = null;
url = null;
ms.Close();
增加 四個參考元件 ,等等寫程式會用到
using System.IO;
using HtmlAgilityPack;
using System.Text;
using System.Net;
using System.IO;
using HtmlAgilityPack;
using System.Text;
using System.Net;
//指定來源網頁
WebClient url = new WebClient();
//將網頁來源資料暫存到記憶體內
MemoryStream ms = new MemoryStream(url.DownloadData("http://rate.bot.com.tw/Pages/Static/UIP003.zh-TW.htm"));
//以台灣銀行為範例
// 使用預設編碼讀入 HTML
HtmlDocument doc = new HtmlDocument();
doc.Load(ms, Encoding.Default);
//取得現在的日期
Response.Write("現在時間:" + DateTime.Now + "
");
// 在Html內表示換行
// 取得匯率
for(int x=3;x<=21;x++)
{
string txt1 = doc.DocumentNode.SelectSingleNode(@"/html[1]/body[1]/ul[1]/li[2]/center[1]/div[1]/div[2]/table[2]/tr[" + x + "]/td[1]").InnerText;
string txt2 = doc.DocumentNode.SelectSingleNode(@"/html[1]/body[1]/ul[1]/li[2]/center[1]/div[1]/div[2]/table[2]/tr[" + x + "]/td[2]").InnerText;
string txt3 = doc.DocumentNode.SelectSingleNode(@"/html[1]/body[1]/ul[1]/li[2]/center[1]/div[1]/div[2]/table[2]/tr[" + x + "]/td[3]").InnerText;
string txt4 = doc.DocumentNode.SelectSingleNode(@"/html[1]/body[1]/ul[1]/li[2]/center[1]/div[1]/div[2]/table[2]/tr[" + x + "]/td[4]").InnerText;
string txt5 = doc.DocumentNode.SelectSingleNode(@"/html[1]/body[1]/ul[1]/li[2]/center[1]/div[1]/div[2]/table[2]/tr[" + x + "]/td[5]").InnerText;
string totle = string.Format("幣別:{0} ,買入現金匯率:{1} ,賣出即期匯率:{2} ,買入遠期匯率:{3} ,賣出歷史匯率:{4}", txt1, txt2, txt3, txt4, txt5);
Response.Write(totle + "
");
}
//清除資料
doc = null;
url = null;
ms.Close();
HTML Agility Pack:簡單好用的快速 HTML Parser
http://htmlagilitypack.codeplex.com/http://msdn.microsoft.com/zh-tw/evalcenter/ee787055.aspx
如何在ASP.NET中抓取來自於其他網站的資料 ?
http://enews.url.com.tw/enews/45768
|
抓取網頁下的所有
的src
http://blog.xuite.net/yan.kee/CSharp/30330315-%E6%8A%93%E5%8F%96%E7%B6%B2%E9%A0%81%E4%B8%8B%E7%9A%84%E6%89%80%E6%9C%89%3Cimg%3E%E7%9A%84src
[Windows Phone/C#] C# 網頁擷取資料 解析網頁標籤(HTML Parser )API -HTML Agility Pack 以Windows Phone 8 為例
http://www.dotblogs.com.tw/v6610688/archive/2013/11/02/parsing_html_by_html_agility_parser_on_windows_phone_8.aspx
http://kingjoy1235.pixnet.net/blog/post/29945811-asp.net-%E6%93%B7%E5%8F%96%E7%B6%B2%E9%A0%81-for-vb
如何抓取 證交所的資料 證交所網頁改版
[VB.NET]自動從網頁的原始碼取要的資料
[VB.NET]擷取網頁資料
http://tomshare.idv.tw/article/vb-net_read_html_data/http://kingjoy1235.pixnet.net/blog/post/29945811-asp.net-%E6%93%B7%E5%8F%96%E7%B6%B2%E9%A0%81-for-vb
沒有留言:
張貼留言