闲着,发个C#抓取alexa排名的代码.(百度GG都没有的)

恶猫 2008-11-09 12:14:58
网上有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而已.
...全文
139 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
missutopia 2008-11-10
  • 打赏
  • 举报
回复
现在还理解不了啊!!
dq512000 2008-11-09
  • 打赏
  • 举报
回复
呵呵。。。
先顶后看。。。

110,565

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧