主页 PC知识 网管技术 黑客帝国 安全技术 开放系统 程序设计 搜索 技术论坛

 

相关联接
 
RHU本级分类

编程语言
程序代码
WIN/*NIX编程
其他类别
JAVA专区

 
RHU阅读排行
·新欢乐时光病毒源代码
·ShixxNote 6.net缓冲区溢出代码
·详细解析C++编写的ATM自动取款机模拟程序
·一个写硬盘的VBS脚本程序
·冲击波病毒源代码
·超级DDOS源码~每秒>4W
·socks5协议转http协议源码
·得到远程机器MAC地址源代码
·一个简单的CMDSHELL后门
·Win2000下系统进程隐藏代码

 
 
RHU最新文章
·MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day网马生成器
·xml下载者VC源码
·Python写的蜘蛛程序代码
·C#抓取alexa排名的代码
·一个超级mail蠕虫的诞生
·洪水攻击原理及代码实现全攻略(附源代码)
·修改了一个抓包的程序(c语言队列)
·企业内部AD脆弱密码审计
·用vbs加用户的绝妙方法
·黑客编程利用Debug Api 获得QQ2007密码

 
 
RHU相关搜索









 
 
RHU广而告之

 
 
>您的位置:首页 -> 程序设计 -> 程序代码
C#抓取alexa排名的代码

作者:RHU-TAC编辑员 来自:RHU网络采集 时间:2008-11-9 双击滚屏 收藏本页 字体:


点击 查看RHU2004全年文章


网上有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

[1] 页 RedHyphone.Union 投稿邮箱
[特别声明]:
本站文章大多搜索转载自网络中,如果侵犯了您的权利,请告之我们。本站将立即删除。
本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
查看评论】【向上滚屏】【关闭窗口】【 打印
-相关文章
  • 编程语言岁末盘点 C有望成为08年年度语言
  • MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day网马生成器
  • 定时重启或关机的小工具 HTA文件
  • 快速开发一个PHP扩展
  • 如何编写PHP扩展
  • -文章评论 (关闭)
    ·还没有相关的评论!

    网上大名:
    红旋风网络技术联盟 RHUTech.Union
     
    Copyright © 2000-2007 RedHyphone.Union All Rights Reserved. 红旋风联盟版权所有.皖ICP备05011033号
    中国红旋风网络技术联盟 | www.RedHyphone.net
    Mailto:Redhyphone@gamil.com