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

简介:

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

获取网页的html代码

处理网页html
[csharp] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. <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 plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(HtmlString);  


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

解决NSoup解析HTML乱码的办法

1.下载网页源代码再处理


[csharp] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. //下载网页源代码

  2. WebClient webClient = new WebClient();  

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

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


2.获得网页的流



[csharp] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. //获得网页流

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

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



效果图


wKiom1M-VEqxqQFeAAHTCTF-Mfw792.jpg

wKioL1M-VCKQ6BtbAAZOQ5VSGP4811.jpg

会发现跟百度的源码是一样的



















本文转蓬莱仙羽 51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1390551,如需转载请自行联系原作者

相关文章
|
8月前
|
开发框架 前端开发 .NET
ASP.NET Core 基础知识之​Startup 类配置
Startup 类配置服务和应用的请求管道。
113 0
|
开发框架 前端开发 安全
ASP.NET Core Startup类Config gure()方法|ASP.NET Core 中间件详细说明
目录 Startup 类 Configure() 方法 中间件 使用中间件 Configure 方法 的参数 IApplicationBuilder Extension Methods(拓展方法)--微软提供的中间件
147 0
ASP.NET Core Startup类Config gure()方法|ASP.NET Core 中间件详细说明
|
开发框架 JavaScript 前端开发
ASP.NET Core 编码、web编码、网页编码System.Text.Encodings.Web
ASP.NET Core 编码、web编码、网页编码System.Text.Encodings.Web
167 0
ASP.NET Core 编码、web编码、网页编码System.Text.Encodings.Web
|
XML 开发框架 JSON
ASP.NET Core: 二十一. 内容协商与自定义IActionResult和格式化类(五)
上一章的结尾留下了一个问题:同样是ObjectResult,在执行的时候又是如何被转换成string和JSON两种格式的呢? 本章来解答这个问题,这里涉及到一个名词:“内容协商”。除了这个,本章将通过两个例子来介绍如何自定义IActionResult和格式化类。
194 0
ASP.NET Core: 二十一. 内容协商与自定义IActionResult和格式化类(五)
|
JSON 开发框架 .NET
ASP.NET Core: 二十一. 内容协商与自定义IActionResult和格式化类(四)
上一章的结尾留下了一个问题:同样是ObjectResult,在执行的时候又是如何被转换成string和JSON两种格式的呢? 本章来解答这个问题,这里涉及到一个名词:“内容协商”。除了这个,本章将通过两个例子来介绍如何自定义IActionResult和格式化类。
134 0
ASP.NET Core: 二十一. 内容协商与自定义IActionResult和格式化类(四)
|
JSON 开发框架 .NET
ASP.NET Core: 二十一. 内容协商与自定义IActionResult和格式化类(三)
上一章的结尾留下了一个问题:同样是ObjectResult,在执行的时候又是如何被转换成string和JSON两种格式的呢? 本章来解答这个问题,这里涉及到一个名词:“内容协商”。除了这个,本章将通过两个例子来介绍如何自定义IActionResult和格式化类。
323 0
|
JSON 开发框架 .NET
ASP.NET Core: 二十一. 内容协商与自定义IActionResult和格式化类(二)
上一章的结尾留下了一个问题:同样是ObjectResult,在执行的时候又是如何被转换成string和JSON两种格式的呢? 本章来解答这个问题,这里涉及到一个名词:“内容协商”。除了这个,本章将通过两个例子来介绍如何自定义IActionResult和格式化类。
251 0
|
JSON 开发框架 .NET
ASP.NET Core: 二十一. 内容协商与自定义IActionResult和格式化类(一)
上一章的结尾留下了一个问题:同样是ObjectResult,在执行的时候又是如何被转换成string和JSON两种格式的呢? 本章来解答这个问题,这里涉及到一个名词:“内容协商”。除了这个,本章将通过两个例子来介绍如何自定义IActionResult和格式化类。
273 0
ASP.NET Core: 二十一. 内容协商与自定义IActionResult和格式化类(一)
|
Web App开发 前端开发 JavaScript
Asp.net中Js、Css文件压缩辅助类
类名:WebCompressUtility.cs 代码如下: /// /// Js、Css文件压缩辅助类 /// Stone_W /// 2011.6.21 /// public class WebCompressUtility { public WebComp...
868 0
|
.NET 开发框架
如何避免ASP.NET网页初次加载缓慢
http://authors.aspalliance.com/PaulWilson/Articles/?id=12
608 0

相关实验场景

更多