日期:2014-05-17  浏览次数:20768 次

自动的读取其它网站网页显示的信息
这是我再网上找的代码,想学习用,但不完整,那位大侠能帮我程序给补充完整,小妹我再此拜谢!!!(不懂C#,所以各位多包涵)
dt没有定义
Addline,SplitName没有定义
 private string GetWebContent(string Url)  
  {  
  string strResult="";  
  try  
  {  
  HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);  
     //声明一个HttpWebRequest请求  
  request.Timeout = 30000;  
  //设置连接超时时间  
  request.Headers.Set("Pragma", "no-cache");  
  HttpWebResponse response = (HttpWebResponse)request.GetResponse();  
  Stream streamReceive = response.GetResponseStream();  
  Encoding encoding = Encoding.GetEncoding("GB2312");  
  StreamReader streamReader = new StreamReader(streamReceive, encoding);  
  strResult = streamReader.ReadToEnd();  
  }  
  catch  
  {  
  MessageBox.Show("出错");  
  }  
  return strResult;  
  }  
为了使用HttpWebRequest和HttpWebResponse,需填名字空间引用  
  using System.Net;  

以下是程序具体实现过程:  
private void button1_Click(object sender, EventArgs e)  
  {  
  //要抓取的URL地址  
  string Url = "http://list.mp3.baidu.com/topso/mp3topsong.html?id=1#top2";  

  //得到指定Url的源码  
   string strWebContent = GetWebContent(Url);  

  richTextBox1.Text = strWebContent;  
    //取出和数据有关的那段源码  
  int iBodyStart = strWebContent.IndexOf("<body", 0);  
  int iStart = strWebContent.IndexOf("歌曲TOP500", iBodyStart);  
  int iTableStart = strWebContent.IndexOf("<table", iStart);  
  int iTableEnd = strWebContent.IndexOf("</table>", iTableStart);  
  string strWeb = strWebContent.Substring(iTableStart, iTableEnd - iTableStart + 8);  

  //生成HtmlDocument  
   WebBrowser webb = new WebBrowser();  
  webb.Navigate("about:blank");  
  HtmlDocument htmldoc = webb.Document.OpenNew(true);  
  htmldoc.Write(strWeb);  
  HtmlElementCollection htmlTR = htmldoc.GetElementsByTagName("TR");  
  foreach (HtmlElement tr in htmlTR)  
  {  
  string strID = tr.GetElementsByTagName("TD")[0].InnerText;  
  string strName = SplitName(tr.GetElementsByTagName("TD")[1].InnerText, "MusicName");  
  string strSinger = SplitName(tr.GetElementsByTagName("TD")[1].InnerText, "Singer");  
  strID = strID.Replace(".", "");  
  //插入DataTable  
  AddLine(strID, strName, strSinger,"0");  

  string strID1 = tr.GetElementsByTagName("TD")[