C#抓取網頁HTML內容

雲霏霏發表於2014-07-14

  網上很多內容採集工具,今天就自己試著寫一個,發現C#可以輕鬆的抓去網頁的內容,進而通過正則來分離出自己感興趣的資料。下面是抓去網頁內容的程式碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;

namespace Web
{
   /// <summary>  
   /// 公共方法類  
   /// </summary>  
   public class WebHandler
   {
      /// <summary>  
      /// 獲取網頁的HTML碼  
      /// </summary>  
      /// <param name="url">連結地址</param>  
      /// <param name="encoding">編碼型別</param>  
      /// <returns></returns>  
      public static string GetHtmlStr(string url, string encoding)
      {
         string htmlStr = "";
         try
         {
            if (!String.IsNullOrEmpty(url))
            {
               WebRequest request = WebRequest.Create(url);            //例項化WebRequest物件  
               WebResponse response = request.GetResponse();           //建立WebResponse物件  
               Stream datastream = response.GetResponseStream();       //建立流物件  
               Encoding ec = Encoding.Default;
               if (encoding == "UTF8")
               {
                  ec = Encoding.UTF8;
               }
               else if (encoding == "Default")
               {
                  ec = Encoding.Default;
               }
               StreamReader reader = new StreamReader(datastream, ec);
               htmlStr = reader.ReadToEnd();                  //讀取網頁內容  
               reader.Close();
               datastream.Close();
               response.Close();
            }
         }
         catch { }
         return htmlStr;
      }
   }  
   
}

這個方法可以獲取網頁的HTML內容,有了HTML我們就可以通過正則來抓去自己想要的內容了。。。

 

相關文章