怎么抓取.. 有代码 强烈要求代码.

解决方案 »

  1.   

    通过httpwebrequest抓取,再使用正则格式化
    System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);   
      request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)";   
      System.Net.WebResponse response = request.GetResponse();   
      System.IO.Stream resStream = response.GetResponseStream();   
      System.IO.StreamReader sr = new System.IO.StreamReader(resStream, encoding);   
      string html = (sr.ReadToEnd());   
      resStream.Close();   
      sr.Close();
        
      System.Net.WebClient wc = new System.Net.WebClient();
      wc.Credentials = System.Net.CredentialCache.DefaultCredentials;
      Byte[] pageData = wc.DownloadData(PageUrl);
      string Content= System.Text.Encoding.Default.GetString(pageData);
      

  2.   

    http://www.cocoachina.com/bbs/read.php?tid-6924-fpage-7-page-1.html
      

  3.   

    http://www.cnblogs.com/DonePuzzle/archive/2007/10/27/939486.html
    有讲解,有源码。
    嫌工程太大可搜索"c# 爬虫",有相关教程。
      

  4.   

    源文件下载:http://d.download.csdn.net/down/2563713/yemeixiuzhuyan
    自己下载研究吧,很有学习价值。
      

  5.   

    采集原理:命名空间:
    using System.Net;
    WebClient Wc=new WebClient();
    string Url="你要采集的网站地址";
    byte [] Bt=Wc.DownloadData(Url);
    string StrHtml=Encoding.Default.GetString(Bt);
    return StrHtml;//返回你要采集网站的源文件再用Regex.Match()//来提取你所要的信息的正则表达是
    //(Regex.Match(StrHtml,"(?<=<h1 style=\"margin-top:0px;  line-height:25px;\">).*?(?=<span class=\"pubHotels_Choice_gradestar01\">)",RegexOptions.Singleline).ToString()//Regex.Replace(Regex.Match(StrHtml,"(?<=<h1 style=\"margin-top:0px;  line-height:25px;\">).*?(?=<span class=\"pubHotels_Choice_gradestar01\">)",RegexOptions.Singleline).ToString(),@"<(.[^>]*)>|&nbsp;","",RegexOptions.IgnoreCase);这是去除HTML代码的例子。
    MatchCollection Ma=Regex.Matches(hotcity.ToString(),"(?<=<td>).*?(?=</td>)",RegexOptions.Singleline);
       //获取所有与正则表达式匹配的信息内容  然后在循环便利出来。
       foreach(Match Matcs in Ma)
       {    string Strurl=Regex.Replace(Regex.Match(Matcs.ToString(),"(?<=<a href=\").*?(?=1.html)",RegexOptions.Singleline).ToString(),@"<(.[^>]*)>|&nbsp;","",RegexOptions.IgnoreCase).ToString();                
        string CityName=Regex.Replace(Regex.Match(Matcs.ToString(),"(?<=.html\">).*?(?=预订)",RegexOptions.Singleline).ToString(),@"<(.[^>]*)>|&nbsp;","",RegexOptions.IgnoreCase).ToString();       }