您的位置:首页 > 编程语言 > ASP

[ASP.NET]强大的网页处理类NSoup

2014-04-04 14:40 316 查看
我们如果在项目中碰到要处理HTML,如果是.NET程序员的话,强烈推荐使用NSoup,不然的话截取字符串是在是太痛苦了。NSoup是一个开源框架,是JSoup的.NET移植版本,使用方法基本一致!NSoup点击下载

获取网页的html代码

处理网页html[csharp]view plaincopyprint?



<span style="font-family: Arial, Helvetica, sans-serif;">NSoup.Nodes.Document doc = NSoup.NSoupClient.Connect("http://blog.csdn.net/dingxiaowie2013").Get();</span>

或者是自定义html,生成html页面[csharp]view plaincopyprint?



NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(HtmlString);

但是很遗憾NSoup默认的是UTF-8,处理中文会有乱码(对于编码是UTF-8自然会正常,但是有些是GB2312的就可能有乱码)

解决NSoup解析HTML乱码的办法

1.下载网页源代码再处理
[csharp]view plaincopyprint?



//下载网页源代码

WebClient webClient = new WebClient();

string htmlString = Encoding.GetEncoding("utf-8").GetString(webClient.DownloadData("http://www.baidu.com"));

NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(htmlString);

2.获得网页的流

[csharp]view plaincopyprint?



//获得网页流

WebRequest webRequest = WebRequest.Create("http://blog.csdn.net/dingxiaowei2013");

NSoup.Nodes.Document doc1 = NSoup.NSoupClient.Parse(webRequest.GetResponse().GetResponseStream(), "utf-8");

效果图







会发现跟百度的源码是一样的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  NSoup NSoup乱码问题