WinForm使用webbrowser爬取数据,中文乱码问题

使用winform中的webbrowser抓取某个网站的数据时,遇到中文乱码的问题:

当时使用的获取网页内容的代码为:

webBrowser1.DocumentText.ToString();

 不管我如何使用转换编码的方式进行转换,都是乱码,在度娘的帮助下,终于找到正确答案:

如果所爬取的网站的编码是GB2312,则可以使用如下代码进行读取网页数据:

System.IO.StreamReader Reader = new System.IO.StreamReader(this.webBrowser1.DocumentStream, System.Text.Encoding.GetEncoding("GB2312")); 
  string Document = null; 
  Document = Reader.ReadToEnd();

如果所爬取的网站的编码UTF8,则使用下面的代码处理:

System.IO.StreamReader Reader = new System.IO.StreamReader(this.webBrowser1.DocumentStream, System.Text.Encoding.GetEncoding("utf-8"));

不论网站的编码格式为何, 都可以使用如下方式处理:

System.IO.StreamReader Reader = new System.IO.StreamReader(this.webBrowser1.DocumentStream, System.Text.Encoding.GetEncoding(this.webBrowser1.Document.Encoding )); 

 

转载于:https://www.cnblogs.com/chenfengmugu/p/4168390.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值