抓取百度页面乱码问题
做了一个测试程序,抓取百度的搜索结果页面。如下代码:
Encoding encoding = Encoding.GetEncoding("gb2312");
Uri uri = new Uri("http://www.baidu.com/s?wd=美女&cl=3");
System.Net.WebRequest myrequest = System.Net.WebRequest.Create(uri);
System.Net.WebResponse myresponse;
myresponse = myrequest.GetResponse();
System.IO.Stream st = myresponse.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(st, encoding);
string html = sr.ReadToEnd();
sr.Close();
st.Close();
得到html为乱码:抓取结果的<title>部分如下:
<title>百度搜索_缇庡コ </title>\r
明显是乱码。
我还做了如下测试:
System.IO.StreamReader sr = new System.IO.StreamReader(st, System.Text.Encoding.Default);
结果是一样的乱码。
兄弟们知道怎么解决这个问题不?