首页 新闻 搜索 专区 学院

C# 提取网页html代码

0
[已解决问题] 解决于 2012-06-13 20:06

utf-8编码的网页 我想提取它的html代码 用Encoding.Default方法提取 总是出现乱码 那位遇到过类似的情况 帮我解决下

 StreamReader srReader = new StreamReader(hwrResponse.GetResponseStream(),Encoding.Default);                string strRead = srReader.ReadToEnd();                srReader.Close();                return strRead;

烟霞的主页 烟霞 | 初学一级 | 园豆:166
提问于:2010-08-21 16:51
< >
分享
最佳答案
1

#region 根据URL读取网络内容
/// <summary>
/// 根据URL读取网络内容,调用时根据网页手动传入编码,如:gb2312,utf8
/// </summary>
/// <param name="url"></param>
/// <returns>Error说明抓取错误</returns>
public static string GetRemoteHtmlCode(string url,string encode)
{
string HtmlCode = "";
HttpWebRequest wrequest
= (HttpWebRequest)WebRequest.Create(url);
try
{
HttpWebResponse wresponse
= (HttpWebResponse)wrequest.GetResponse();
Stream stream
= wresponse.GetResponseStream();
StreamReader reader
= new StreamReader(stream, Encoding.GetEncoding(encode));
HtmlCode
= reader.ReadToEnd();
reader.Close();
wresponse.Close();
}
catch
{
HtmlCode
= "Error";
}

return HtmlCode;
}
#endregion

 

奖励园豆:5
Astar | 高人七级 |园豆:40805 | 2010-08-21 17:01

可以实现吗

墨猦 | 园豆:668 (小虾三级) | 2012-06-14 10:22
其他回答(5)
0

Encoding.Default 不是UTF-8吧!

Encoding.GetEncoding("UTF-8"); 或者 Encoding.UTF8Encoding

Launcher | 园豆:45045 (高人七级) | 2010-08-21 18:13
0

你都知道是UTF8了怎么还用Default呢,直接用Encoding.UTF8不就OK了吗?

I,Robot | 园豆:9461 (大侠五级) | 2010-08-21 22:39
说的非常好啊
支持(0) 反对(0) 为森 | 园豆:377 (菜鸟二级) | 2010-08-22 01:34
0

http://www.cnblogs.com/xingshao/archive/2009/10/27/1590806.html

一个关于天气数据抓取的程序。参考以下。

邢少 | 园豆:10924 (专家六级) | 2010-08-23 08:18
0

2楼。呵呵

顾晓北 | 园豆:9953 (大侠五级) | 2010-09-01 18:52
0

Encoding.Default = Encoding.UTF - 16

碧落星痕 | 园豆:708 (小虾三级) | 2011-11-30 11:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册