ASP.NET 抓取網頁內容-文字

作者:vkvi 來源:千一網絡(原創) 日期:2007-8-13

ASP.NET 中抓取網頁內容是非常方便的,而其中更是解決了 ASP 中困擾我們的編碼問題。

需要三個類:WebRequest、WebResponse、StreamReader。

WebRequest、WebResponse 的名稱空間是:

System.Net

StreamReader 的名稱空間是:

System.IO

核心代碼

WebRequest request = WebRequest.Create("http://www.vcdosf.tw/");
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
  • WebRequest 類的 Create 為靜態方法,參數為要抓取的網頁的網址;
  • Encoding 指定編碼,Encoding 中有屬性 ASCII、UTF32、UTF8 等全球通用的編碼,但沒有 gb2312 這個編碼屬性,所以我們使用 GetEncoding 獲得 gb2312 編碼。

示例

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    void Page_Load(object sender, EventArgs e)
    {
        try
        {
            WebRequest request = WebRequest.Create("http://www.vcdosf.tw/");
            WebResponse response = request.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
            
            tb.Text = reader.ReadToEnd();
            
            reader.Close();
            reader.Dispose();
            response.Close();
        }
        catch (Exception ex)
        {
            tb.Text = ex.Message;
        }
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>抓取網頁內容 - 千一網絡</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:TextBox ID="tb" runat="server" Width="500" Height="300" TextMode="multiLine"></asp:TextBox>
    </div>
    </form>
</body>
</html>

相關閱讀

你前面那位網友看了:C# dynamic

▲▲▲嘿,歡迎轉載傳播本站原創文章,盡量保留來源噢。▲▲▲

文章評論
  • 1 樓:評論
    文章簡潔而明了,一個很好網站!貼子也很好
  • 2 樓:路人甲
    同意,文章做的非常漂亮。
    非常具有實際意義。
  • 3 樓:評論
    同意,這么好的網站今天才發現!
  • 4 樓:評論
    編碼有問題,如果不是gb2312編碼的網頁,得到的就是亂碼
  • 5 樓:評論
    如何抓取網站的一小部份內容呢
標題:必填
內容:
本站永遠終止與捏造“罪名”不支付廣告費的某度聯盟合作。
vkvi
vkvi

作者簡介: vkvi,致力于 .NET Web 開發、移動開發的技術推廣,在 .NET、SQL Server、Windows Server 等方面有深入研究和豐富經驗,10 年間共計撰寫文章 4000 余篇。 主持金融、國土、農業、電商等多個行業項目執行, 推行“技術提升生產力、人心決定成功率”的管理理論。 聯系他

最新22选5开奖公告