`

抓取网页内容

阅读更多

 

以下代码可以运行于asp.net上

 

抓取网页内容

 

 

转自:http://blog.csdn.net/zhujin1123/archive/2009/04/03/4020234.aspx

 

 

string http = TxtHttp.Text.ToString();//目标网页网址  
 
   System.Net.WebRequest request = System.Net.WebRequest.Create(http);  
   System.IO.StreamReader sr = new System.IO.StreamReader(request.GetResponse().GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312"));  
   ArrayList list = new ArrayList();  
   if (sr != null)  
   {  
       string html = sr.ReadToEnd();  
       // 关键是正则,要找到目标网页源码的规律,总结出正则的写法  
       // 各个大的搜索引擎派出的搜索机器人就是通过这种方式来抓取网页快照  
       System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches(html, @"<a\s+href\s*=\s*[""|']?(?<uri>[^""' ]*)[""|']?[^<>]*>\s*(<[^<>]+>)*(?<title>[^<>]*)(<[^<>]+>)*\s*</a>");  
       for (int i = 0; i < mc.Count; i++)  
       {  
           list.Add(mc[i].Value.ToString());//将找到的匹配的项添加到ArrayList  
       }  
       foreach (string str in list)  
       {  
           Response.Write(str + "<br/>");  
       }  
       sr.Close();  
   } 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhujin1123/archive/2009/04/03/4020234.aspx

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics