国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Linux Shell > 正文

shell腳本聯合PHP腳本采集網站的pv和alexa排名

2020-07-27 19:10:26
字體:
來源:轉載
供稿:網友

這是給朋友寫的腳本,是做cdn方面的,經常遇見攻擊,但是不能一遇見攻擊就把域名給封殺,我們可以有選擇的進行判斷。

這個是php取值alexa值得:

復制代碼 代碼如下:

<?php
$yuming = $argv[1];
//獲取 alaxe 排名
function getAlexaRank($domain = m.survivalescaperooms.com)
{
$line = "";
$data = "";
$url = "http://data.alexa.com/data/?cli=10&dat=snba&ver=7.0&url=".$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 ;$i<count($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表單,在數據庫里把域名加個狀態值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武邑县| 东阿县| 阳西县| 富顺县| 大关县| 苍山县| 溧水县| 夏邑县| 乌拉特前旗| 尉氏县| 高要市| 通渭县| 靖远县| 金门县| 抚州市| 东光县| 宁河县| 都昌县| 菏泽市| 神木县| 胶南市| 正定县| 甘肃省| 大同县| 兴国县| 新龙县| 赤城县| 通河县| 新安县| 奉新县| 阜平县| 宣城市| 盖州市| 左云县| 梅河口市| 潮州市| 铁力市| 布拖县| 饶阳县| 察隅县| 锡林郭勒盟|