|
网上有asp版的代码..但是没有.net的..百度GG雅虎都搜索遍了..也没有.. :ohh: 有教程站的朋友别错过啊,绝对的原创. 找遍了百度和GG,英文雅虎也找过了,没找到现成的. 只好自己写了一个,抓取很准确.^_^.需要的朋友随便拿. (不晓得这有几位搞技术的朋友撒?) 在写一个seo的小工具,模拟蜘蛛爬取链接的,而且是检测蜘蛛认可的有效链接!! (起因是有几个GG群的朋友遭遇到,恶意假链接欺骗,表面看谁也 看不出来,可实际蜘蛛一爬就漏馅了,用我的软件一检测,也可以原形毕露...) 废话不说了,代码在下面,附上截图一个..是我用朋友的环保网站检测的效果图,大概看下.
 private string getAlexa(int idx, string url) { //SourceCode By http://77521.cn string css = ""; string result = "无排名"; string html = Func.GetHttpPage("http://www.alexa.com/search?q=" + url.Replace("http://",""), "utf-8"); string patt = "<link href=\"([^\"'\\s]*?)\" _fcksavedurl="\"([^\"'\\s]*?)\"" _fcksavedurl="\"([^\"'\\s]*?)\"" type=\"text/css\" rel=\"stylesheet\">"; Regex reg = new Regex(patt, RegexOptions.IgnoreCase); MatchCollection mc = reg.Matches(html); if (mc.Count <= 0) {//出错了 dgEdit(idx, 7, "无排名"); } else {//找到CSS了 css = Func.GetHttpPage(mc[0].Result("$1"), "utf-8"); reg = new Regex("Rank:([\\s\\S]*?)</a>", RegexOptions.IgnoreCase); mc = reg.Matches(html); if (mc.Count <= 0) { dgEdit(idx, 7, "无排名"); } else { string mao = mc[0].Result("$1"); string mao2 = mao.Replace("\"", "").Replace("'", "").Replace(" ", ""); mao2 = Regex.Replace(mao2,"<\\!--.+?-->", ""); reg = new Regex("<span[\\s\\S]*?class=[\"']?(.+?)[\"']?>(.+?)</span>", RegexOptions.IgnoreCase); mc = reg.Matches(mao2); if (mc.Count <= 0) { dgEdit(idx, 7, "无排名"); } else { //textBox1.Text = mao2; for (int n = 0; n < mc.Count; n++) { if (css.IndexOf(mc[n].Result("$1")) != -1) { mao2 = Regex.Replace(mao2, "<span[^>]*?class=" + mc[n].Result("$1") + ">.+?</span>", //textBox1.Text = textBox1.Text + "\r\n\r\n------------------------------------------ } } mao2 = Regex.Replace(mao2, "<[\\s\\S]+?>", ""); mao2 = Regex.Replace(mao2, " ", ""); mao2 = Regex.Replace(mao2, " ", ""); mao2 = Regex.Replace(mao2, "|", ""); mao2 = mao2.Replace("\r", "").Replace("\n", ""); dgEdit(idx, 7, mao2); return mao2; } } } return result; }
再废话点,这样代码可能普通站长是没用的,发在休闲区,也是个小原创,百度GG雅虎都没相关的代码哈. 有教程类的网站的朋友,别错过啊.^_^ 尽管有点不太可能,还是希望大家转载的时候能保留一个链接. ------------------------------------------------------------------------------------------------ 代码里, getHttpPage 是抓取网页代码的函数.这样简单的大家应该自己就备有的.不说了. dgEdit 是一个delegate而已.

OVER
|