C#抓取网页HTML内容

640?wx_fmt=png

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;

      }

   }  

   

}


posted @   天使不哭  阅读(270)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2018-02-08 汇总jQuery的61种选择器及示例
2018-02-08 汇总jQuery的61种选择器及示例
2018-02-08 汇总jQuery的61种选择器及示例
点击右上角即可分享
微信分享提示