C#获取远程网页中的所有链接URL(网络蜘蛛实现原理)

</pre></p><span style="line-height: 21px;"></span><pre name="code" class="csharp">using System;  
using System.Net;  
using System.Text;  
using System.Text.RegularExpressions;  
namespace HttpGet  
{  
class Class1  
{  
[STAThread]  
static void Main(string[] args)  
{  
System.Net.WebClient client = new WebClient();  
byte[] page = client.DownloadData("http://news.163.com");  
string content = System.Text.Encoding.UTF8.GetString(page);  
string regex = "href=[\\\"\\\'](http:\\/\\/|\\.\\/|\\/)?\\w+(\\.\\w+)*(\\/\\w+(\\.\\w+)?)*(\\/|\\?\\w*=\\w*(&\\w*=\\w*)*)?[\\\"\\\']";  
Regex re = new Regex(regex);  
MatchCollection matches = re.Matches(content);  
System.Collections.IEnumerator enu = matches.GetEnumerator();  
while (enu.MoveNext() && enu.Current != null)  
{  
Match match = (Match)(enu.Current);  
Console.Write(match.Value + "\r\n");  
}  
}  
}  
}  
posted @ 2011-08-28 15:52  canlay  阅读(414)  评论(0编辑  收藏  举报