继上一篇文章我说的 要做一个仿蛛蛛的站内搜索引擎 昨晚忙了一晚上做好了第一步 将别人的页面已经放到了自己的文本文件中,现在要做的就是 动态的找到页面里的全部链接。
这个很重要 如果手动添加的话 工程量是巨大的!
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便签 得到链接!
本文介绍了一个简单的站内搜索引擎实现过程,通过抓取网页并使用正则表达式提取所有链接,为后续全文搜索功能打下基础。
599

被折叠的 条评论
为什么被折叠?



