• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    shell脚本联合PHP脚本采集网站的pv和alexa排名

    这是给朋友写的脚本,是做cdn方面的,经常遇见攻击,但是不能一遇见攻击就把域名给封杀,我们可以有选择的进行判断。

    这个是php取值alexa值得:

    复制代码 代码如下:

    ?php
    $yuming = $argv[1];
    //获取 alaxe 排名
    function getAlexaRank($domain = www.jb51.net)
    {
    $line = "";
    $data = "";
    $url = "http://data.alexa.com/data/?cli=10dat=snbaver=7.0url=".$domain;
    $fp = fopen($url,"r");
    if($fp)
    {
    while(!feof($fp))
    {
    $line = fgets($fp);
    $data.= $line;
    }
    $p = xml_parser_create();
    xml_parse_into_struct($p,$data,$vals);
    xml_parser_free($p);
    for($i = 0 ;$icount($vals);$i++)
    {
    if($vals[$i]["tag"]=="POPULARITY")
    {
    return $vals[$i]["attributes"]["TEXT"];
    }
    }
    }
    }
    echo getAlexaRank($yuming);
    ?>

    这个是用来取pv数值的
    复制代码 代码如下:

    ?php
    //
    //      参数传递指定地址
    //
    if(empty($argv[1])){
            die('参数错误');
    }else{
            $domain = $argv[1];
    }
    //
    //      curl请求
    //
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://alexa.cn/api0523.php"); //?
    curl_setopt($ch, CURLOPT_POST, 1);
    $data['url'] = $domain;
    $data['sig'] = 'd665053d27996bc7c72eff5f70d4facc';
    $data['keyt'] = '1350970374';
    curl_setopt($ch, CURLOPT_COOKIE, 'checkdom='.$domain);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $resp = curl_exec($ch);
    curl_close($ch);
    $array_div = explode('*', $resp);
    $c = count($array_div);
    //
    //      解析输出
    //
    for($i=0; $i$c; $i++){
            if ($i == 10 || $i == 12 || $i ==14){
                    $m = $i + 1;
                    if($array_div[$i]!="-"){
                            $as = intval( str_replace(',', '', $array_div[$i]) );
                            $ax = intval( str_replace(',', '', $array_div[$m]) );
                            echo $as*3000*$ax;
                            echo "\n";
                    }else{
                            echo "-";echo "\n";
                    }
            }
    }

    进行shell判断:

    复制代码 代码如下:

    #!/bin/bash
    digstatus=`dig $1 ns|grep IN.*NS.*.$|grep -E "ns1.appleidc.com|ns2.appleidc.com"|wc -l`
    [ $digstatus -eq 0 ] exit
    paiming=`php alexa $1`
    if [ $paiming -lt 1000 ]
    then
    echo high
    else
    echo no high
    fi
    pv=`php pv $1`
    echo "$1 pv num is $pv"

    判断出来后,再做什么的,大家可以自己写。  朋友那里是执行一个post表单,在数据库里把域名加个状态值。

    您可能感兴趣的文章:
    • PHP+shell实现多线程的方法
    • php-fpm开机自动启动Shell脚本
    • Shell、Perl、Python、PHP访问 MySQL 数据库代码实例
    • Shell脚本中实现更新PHP5
    • Shell脚本实现启动PHP内置FastCGI Server
    • PHP和Shell实现检查SAMBA与NFS Server是否存在
    • Ruby、PHP、Shell实现求50以内的素数
    • php管理nginx虚拟主机shell脚本实例
    • 监控服务器swap并重启php的Shell脚本
    • PHP+shell脚本操作Memcached和Apache Status的实例分享
    上一篇:Shell实现的一些数学运算自定义函数分享
    下一篇:Shell脚本实现memcache缓存命中率监控
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    shell脚本联合PHP脚本采集网站的pv和alexa排名 shell,脚本,联合,PHP,采集,