说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

ASP.NET如何用正则表达式得到网站页面中的所有链接

HTML文档下载 WORD文档下载 PDF文档下载
有时候我们需要遍历某个页面中的所有链接,甚至遍历整个网站,本文介绍了页面内容分解的方法。

 

有时候我们需要遍历某个页面中的所有链接,甚至遍历整个网站。我们用WebClient.DownloadString或HttpWebRequest得到某个网址的页面内容后,可以用正则表达式对内容进行分解。

具体请看代码:

 

public void ExtractURLs(string str){    // match.Groups["name"].Value - 链接名字    // match.Groups["url"].Value - 网址链接    string RegexPattern = @"<a.*?href=[""'](?<url>.*?)[""'].*?>(?<name>.*?)</a>";    // 正则匹配    System.Text.RegularExpressions.MatchCollection matches        = System.Text.RegularExpressions.Regex.Matches(str, RegexPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase);    foreach (System.Text.RegularExpressions.Match match in matches)    {        Response.Write(match.Groups["url"].Value);        Response.Write(match.Groups["name"].Value);    }}

在取得url后,我们可以再用WebClient.DownloadString获得内容,再分解、再进入,递归调用循环往复就可以遍历整个站点。

 

 

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘