ASP.NET 得到页面的全部链接!

本文介绍了一个简单的站内搜索引擎实现过程,通过抓取网页并使用正则表达式提取所有链接,为后续全文搜索功能打下基础。

继上一篇文章我说的 要做一个仿蛛蛛的站内搜索引擎 昨晚忙了一晚上做好了第一步 将别人的页面已经放到了自己的文本文件中,现在要做的就是 动态的找到页面里的全部链接。

这个很重要 如果手动添加的话 工程量是巨大的!

private void Page_Load(object sender, System.EventArgse) { //在此处放置用户代码以初始化页面 string url =http://www.madeinchina.cn; System.Net.HttpWebRequesthttpReq; System.Net.HttpWebResponsehttpRes; System.UrihttpURL = new Uri(url); httpReq =(System.Net.HttpWebRequest)System.Net.WebRequest.Create(httpURL); httpReq.Method= "GET"; httpRes= (System.Net.HttpWebResponse)httpReq.GetResponse(); httpReq.KeepAlive= false; System.IO.StreamReadersReader = newSystem.IO.StreamReader(httpRes.GetResponseStream(),System.Text.Encoding.GetEncoding("GB2312")); stringres = sReader.ReadToEnd(); //以下是利用正则表达式对获取的文本流进行过滤 stringstrRegex = @"<a.+?a>"; System.Text.RegularExpressions.Regexr; System.Text.RegularExpressions.MatchCollectionm; r = newSystem.Text.RegularExpressions.Regex(strRegex,System.Text.RegularExpressions.RegexOptions.IgnoreCase); m =r.Matches(res); Response.Write("该页共有"+m.Count + " 个超连接<br/>"); for (inti = 0; i < m.Count; i++) { Response.Write(m[i].Value+ "<br/>"); } }

原理是这样的:

像我上一篇文章中写的一样 该方法的前半部分就是说的是:

1将得到页面中全部文本信息。

2用正则表达式匹配a便签 得到链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值