Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [PHP] Скрипт проверки PageRank, Тиц, Alexa Rank, Каталог Yandex, DMOZ (https://forum.antichat.xyz/showthread.php?t=123324)

ZEXEL 02.06.2009 20:40

[PHP] Скрипт проверки PageRank, Тиц, Alexa Rank, Каталог Yandex, DMOZ
 
Проверяет :

Код:

Page Rank       
Yandex Тиц       
Alexa Rank       
Каталог DMOZ       
Каталог Yandex
Количество проиндексированых страниц в Google       
Количество проиндексированых страниц в Yandex       
Беки в Google       
Беки в Yahoo       
Беки в AltaVista       
Беки в AltaWeb

Пример етого скрипта на сайте : Проверка PR, Тиц

Скрипт написаный на PHP :

Код:

<?

function utf8win1251($s)
{
    $out="";$c1="";$byte2=false;
    for ($c=0;$c<strlen($s);$c++) {
          $i=ord($s[$c]);
          if ($i<=127) $out.=$s[$c];
          if ($byte2) {
              $new_c2=($c1&3)*64+($i&63);
              $new_c1=($c1>>2)&5;
              $new_i=$new_c1*256+$new_c2;
              if ($new_i==1025) $out_i=168; else
              if ($new_i==1105) $out_i=184; else $out_i=$new_i-848;
              $out.=chr($out_i);
              $byte2=false;
          }
          if (($i>>5)==6) {
              $c1=$i;
              $byte2=true;
          }
    }
return $out;
}

function getDMOZ($site) //utf-8
{
// DMOZ
// http://search.dmoz.org/cgi-bin/search?search=u:ngs.ru
        $buf = file_get_contents('http://search.dmoz.org/cgi-bin/search?search=u:'.$site);
//        results found
        if (preg_match('!results\sfound!ism',$buf)) {
                return(0);
        } else {
                return(1);
        }
}

function getYaCat($site) //utf-8
{
        // Я каталог
        // http://search.yaca.yandex.ru/yandsearch?text=url%3D%22blog.gtalex.ru*%22&rpt=rs2
        $buf = utf8win1251(file_get_contents('http://search.yaca.yandex.ru/yandsearch?text=url%3D%22'.$site.'*%22&rpt=rs2'));
        // нигде не встречается
        if (preg_match('!нигде\sне\sвстречается!ism',$buf)) {
                return(0);
        } else {
                return(1);
        }

}

function getTIC($site)
{
        $url = 'http://'.$site;
        $str=file('http://bar-navig.yandex.ru/u?ver=2&show=32&url='.$url);
        if ($str==false) {
                $ans=false;
        } else {
                $is_find=preg_match("/value=\"(.\d*)\"/", join("",$str), $tic);
                     
                if ($is_find<1) {
                        $ans=0;
                } else {
                        $ans=$tic[1];
                }
        }
return $ans;
}

function getGoogleIdx($site) //utf-8
{
//        http://www.google.com/search?hl=en&q=site:blog.gtalex.ru
        $buf = file_get_contents('http://www.google.com/search?hl=en&q=site:'.$site);
//        of about <b>1,210,000</b> from
        if (preg_match('!of\sabout\s<b>(.*?)</b>\sfrom!ism',$buf,$match)) {
                return(str_replace(',','',$match[1]));
        } else {
                return(0);
        }       
}

function getYandexIdx($site)  // utf-8
{
//        http://yandex.ru/yandsearch?text=&site=ngs.ru&ras=1&site_manually=true
        $buf = utf8win1251(file_get_contents('http://yandex.ru/yandsearch?text=&site='.$site.'&ras=1&site_manually=true'));
//        нашлось 384&nbsp;тыс. страниц
//      нашлось 182 страницы
        if (preg_match('!нашлось\s(\d+)\sстраниц!ism',$buf,$match)) {
                return($match[1]);
        }
        if (preg_match('!нашлось\s(\d+)\&nbsp\;тыс\.\sстраниц!ism',$buf,$match)) {
                return(1000*$match[1]);
        }
        return(0);
}

define('GMAG', 0xE6359A60);
function nooverflow($a)
{
        while ($a<-2147483648)
        $a+=2147483648+2147483648;
        while ($a>2147483647)
        $a-=2147483648+2147483648;
        return $a;
}

function zeroFill ($x, $bits)
{
        if ($bits==0) return $x;
        if ($bits==32) return 0;
        $y = ($x & 0x7FFFFFFF) >> $bits;
        if (0x80000000 & $x) {
                $y |= (1<<(31-$bits));
        }
return $y;
}

function mix($a,$b,$c) {
        $a=(int)$a; $b=(int)$b; $c=(int)$c;
        $a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,13));
        $b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<8);
        $c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,13));
        $a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,12));
        $b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<16);
        $c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,5));
        $a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,3));
        $b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<10);
        $c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,15));
        return array($a,$b,$c);
}

function GCH($url, $length=null, $init=GMAG) {
        if(is_null($length)) {
                $length = sizeof($url);
        }
        $a = $b = 0x9E3779B9;
        $c = $init;
        $k = 0;
        $len = $length;
        while($len >= 12) {
                $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
                $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
                $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
                $mix = mix($a,$b,$c);
                $a = $mix[0]; $b = $mix[1]; $c = $mix[2];
                $k += 12;
                $len -= 12;
        }
        $c += $length;
        switch($len) {
                case 11: $c+=($url[$k+10]<<24);
                case 10: $c+=($url[$k+9]<<16);
                case 9 : $c+=($url[$k+8]<<8);
                case 8 : $b+=($url[$k+7]<<24);
                case 7 : $b+=($url[$k+6]<<16);
                case 6 : $b+=($url[$k+5]<<8);
                case 5 : $b+=($url[$k+4]);
                case 4 : $a+=($url[$k+3]<<24);
                case 3 : $a+=($url[$k+2]<<16);
                case 2 : $a+=($url[$k+1]<<8);
                case 1 : $a+=($url[$k+0]);
        }
        $mix = mix($a,$b,$c);
        return $mix[2];
}

function strord($string)
{
        for($i=0;$i<strlen($string);$i++) {
                $result[$i] = ord($string{$i});
        }
        return $result;
}

function getPR($aUrl)
{
    $aUrl = 'http://'.$aUrl;
    $url = 'info:'.$aUrl;
    $ch = GCH(strord($url));
    $url='info:'.urlencode($aUrl);
    $pr = @file("http://www.google.com/search?client=navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url");
    $pr_str = @implode("", $pr);
    return substr($pr_str,strrpos($pr_str, ":")+1);
}

function alexa_rank($link) {
              $url = 'http://data.alexa.com/data?cli=10&dat=snbamz&url=' . $link;
              $v = file_get_contents($url);
              preg_match('/\<popularity url\="(.*?)" TEXT\="([0-9]+)"\/\>/si', $v, $r);
              return ($r[2]) ? $r[2] : '0';
          }


function google_backs($link)
{
  $url = 'http://www.google.com/search?q=link%3A'.$link;
                                        $v = file_get_contents($url);
                                        preg_match('/of about \<b\>([0-9\,]+)\<\/b\>/si', $v, $r);
                                        return ($r[1]) ? str_replace(',', '', $r[1]) : '0';
}

function msn_backs($link)
{
$url = 'http://search.msn.com/results.aspx?q=link%3A'.$link;
$v = file_get_contents($url);
preg_match('/of ([0-9\,]+) results/si', $v, $r);
return ($r[1]) ? str_replace(',', '', $r[1]) : '0';
}
function yahoo_backs($link)
{
$url = 'http://search.yahoo.com/search?p=links%3A' . $link;
                                        $v = file_get_contents($url);
                                        preg_match('/of ([0-9]+)/si', $v, $r);
                                        return ($r[1]) ? str_replace(',', '', $r[1]) : '0';
}
function altavista_backs($link)
{
        $url = 'http://www.altavista.com/web/results?q=link%3A' . $link;
        $v = file_get_contents($url);
        preg_match('/found ([0-9\,]+) results/si', $v, $r);
        return ($r[1]) ? str_replace(',', '', $r[1]) : '0';
}

function altaweb_backs($link)
{
        $url = 'http://www.alltheweb.com/search?q=link%3A' . $link;
                                        $v = file_get_contents($url);
                                        preg_match('/\<span class\="ofSoMany"\>([0-9\,]+)\<\/span\>/si', $v, $r);
                                        return ($r[1]) ? str_replace(',', '', $r[1]) : '0';
}

echo '<style>.culture
{
    background: #383737;
    color: #CCCCCC;
    font: 10pt verdana, geneva, lucida, "lucida grande", arial, helvetica, sans-serif;
}
</style>';

echo '<form method="POST">
<input type="text" name="web" class="culture">
<input type="submit" name="submit" value="Аналізувати" class="culture">
</form>';

if(@$_POST['web'])
{
echo '<table border="1" cellpadding=5 cellspacing=0>';
echo '<tr><td>Page Rank</td><td>'; echo getPR($_POST['web']); echo '</td></tr>';
echo '<tr><td>Yandex Тиц</td><td>'; echo getTIC($_POST['web']); echo '</td></tr>';
echo '<tr><td>Alexa Rank</td><td>'; echo alexa_rank($_POST['web']); echo '</td></tr>';
echo '<tr><td>Каталог DMOZ </td><td>'; if(getDMOZ($_POST['web'])=="1") {  echo "Так";  }  else  {  echo " Ні"; } echo '</td></tr>';
echo '<tr><td>Каталог Yandex </td><td>'; if(getYaCat($_POST['web'])=="1") {  echo "Так";  }  else  {  echo " Ні"; } echo '</td></tr>';
echo '<tr><td>Сторінок в Google</td><td>'; echo getGoogleIdx($_POST['web']); echo '</td></tr>';
echo '<tr><td>Сторінок в Yandex</td><td>'; echo getYandexIdx($_POST['web']); echo '</td></tr>';
echo '<tr><td>Зворотніх посилань в Google </td><td>'; echo google_backs($_POST['web']); echo '</td></tr>';
echo '<tr><td>Зворотніх посилань в Yahoo </td><td>'; echo yahoo_backs($_POST['web']); echo '</td></tr>';
echo '<tr><td>Зворотніх посилань в AltaVista </td><td>'; echo altavista_backs($_POST['web']); echo '</td></tr>';
echo '<tr><td>Зворотніх посилань в AltaWeb </td><td>'; echo altaweb_backs($_POST['web']); echo '</td></tr>';
echo '</table>';
}

?>


mailbrush 02.06.2009 21:12

ZEXEL, ты как всегда, в своем стиле...
PHP код:

echo '...';
echo 
'...';
echo 
'...';
echo 
'...';
echo 
'...';
echo 
'...';
echo 
'...';
echo 
'...';
echo 
'...';
echo 
'...'

PS:
Цитата:

Вы добавили слишком много репутации в последние 24 часа. Попробуйте попозже.

ReduKToR 03.06.2009 16:21

ZEXEL, можно методом POST управится в пару строчек.....будет время сделаю пример...а так норм....еще бы РУСИК =)

Ржунимагу 03.06.2009 17:10

Цитата:

Сообщение от ReduKToR
ZEXEL, можно методом POST управится в пару строчек.....будет время сделаю пример...а так норм....еще бы РУСИК =)

Код:

<?

function utf8win1251($s)
{
    $out="";$c1="";$byte2=false;
    for ($c=0;$c<strlen($s);$c++) {
          $i=ord($s[$c]);
          if ($i<=127) $out.=$s[$c];
          if ($byte2) {
              $new_c2=($c1&3)*64+($i&63);
              $new_c1=($c1>>2)&5;
              $new_i=$new_c1*256+$new_c2;
              if ($new_i==1025) $out_i=168; else
              if ($new_i==1105) $out_i=184; else $out_i=$new_i-848;
              $out.=chr($out_i);
              $byte2=false;
          }
          if (($i>>5)==6) {
              $c1=$i;
              $byte2=true;
          }
    }
return $out;
}

function getDMOZ($site) //utf-8
{
// DMOZ
// http://search.dmoz.org/cgi-bin/search?search=u:ngs.ru
        $buf = file_get_contents('http://search.dmoz.org/cgi-bin/search?search=u:'.$site);
//        results found
        if (preg_match('!results\sfound!ism',$buf)) {
                return(0);
        } else {
                return(1);
        }
}

function getYaCat($site) //utf-8
{
        // Я каталог
        // http://search.yaca.yandex.ru/yandsearch?text=url%3D%22blog.gtalex.ru*%22&rpt=rs2
        $buf = utf8win1251(file_get_contents('http://search.yaca.yandex.ru/yandsearch?text=url%3D%22'.$site.'*%22&rpt=rs2'));
        // нигде не встречается
        if (preg_match('!нигде\sне\sвстречается!ism',$buf)) {
                return(0);
        } else {
                return(1);
        }

}

function getTIC($site)
{
        $url = 'http://'.$site;
        $str=file('http://bar-navig.yandex.ru/u?ver=2&show=32&url='.$url);
        if ($str==false) {
                $ans=false;
        } else {
                $is_find=preg_match("/value=\"(.\d*)\"/", join("",$str), $tic);
                     
                if ($is_find<1) {
                        $ans=0;
                } else {
                        $ans=$tic[1];
                }
        }
return $ans;
}

function getGoogleIdx($site) //utf-8
{
//        http://www.google.com/search?hl=en&q=site:blog.gtalex.ru
        $buf = file_get_contents('http://www.google.com/search?hl=en&q=site:'.$site);
//        of about <b>1,210,000</b> from
        if (preg_match('!of\sabout\s<b>(.*?)</b>\sfrom!ism',$buf,$match)) {
                return(str_replace(',','',$match[1]));
        } else {
                return(0);
        }       
}

function getYandexIdx($site)  // utf-8
{
//        http://yandex.ru/yandsearch?text=&site=ngs.ru&ras=1&site_manually=true
        $buf = utf8win1251(file_get_contents('http://yandex.ru/yandsearch?text=&site='.$site.'&ras=1&site_manually=true'));
//        нашлось 384&nbsp;тыс. страниц
//      нашлось 182 страницы
        if (preg_match('!нашлось\s(\d+)\sстраниц!ism',$buf,$m  atch)) {
                return($match[1]);
        }
        if (preg_match('!нашлось\s(\d+)\&nbsp\;тыс\.\sстраниц!ism',$buf,$match)) {
                return(1000*$match[1]);
        }
        return(0);
}

define('GMAG', 0xE6359A60);
function nooverflow($a)
{
        while ($a<-2147483648)
        $a+=2147483648+2147483648;
        while ($a>2147483647)
        $a-=2147483648+2147483648;
        return $a;
}

function zeroFill ($x, $bits)
{
        if ($bits==0) return $x;
        if ($bits==32) return 0;
        $y = ($x & 0x7FFFFFFF) >> $bits;
        if (0x80000000 & $x) {
                $y |= (1<<(31-$bits));
        }
return $y;
}

function mix($a,$b,$c) {
        $a=(int)$a; $b=(int)$b; $c=(int)$c;
        $a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,13));
        $b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<8);
        $c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,13));
        $a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,12));
        $b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<16);
        $c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,5));
        $a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,3));
        $b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<10);
        $c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,15));
        return array($a,$b,$c);
}

function GCH($url, $length=null, $init=GMAG) {
        if(is_null($length)) {
                $length = sizeof($url);
        }
        $a = $b = 0x9E3779B9;
        $c = $init;
        $k = 0;
        $len = $length;
        while($len >= 12) {
                $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
                $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
                $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
                $mix = mix($a,$b,$c);
                $a = $mix[0]; $b = $mix[1]; $c = $mix[2];
                $k += 12;
                $len -= 12;
        }
        $c += $length;
        switch($len) {
                case 11: $c+=($url[$k+10]<<24);
                case 10: $c+=($url[$k+9]<<16);
                case 9 : $c+=($url[$k+8]<<8);
                case 8 : $b+=($url[$k+7]<<24);
                case 7 : $b+=($url[$k+6]<<16);
                case 6 : $b+=($url[$k+5]<<8);
                case 5 : $b+=($url[$k+4]);
                case 4 : $a+=($url[$k+3]<<24);
                case 3 : $a+=($url[$k+2]<<16);
                case 2 : $a+=($url[$k+1]<<8);
                case 1 : $a+=($url[$k+0]);
        }
        $mix = mix($a,$b,$c);
        return $mix[2];
}

function strord($string)
{
        for($i=0;$i<strlen($string);$i++) {
                $result[$i] = ord($string{$i});
        }
        return $result;
}

function getPR($aUrl)
{
    $aUrl = 'http://'.$aUrl;
    $url = 'info:'.$aUrl;
    $ch = GCH(strord($url));
    $url='info:'.urlencode($aUrl);
    $pr = @file("http://www.google.com/search?client=navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url");
    $pr_str = @implode("", $pr);
    return substr($pr_str,strrpos($pr_str, ":")+1);
}

function alexa_rank($link) {
              $url = 'http://data.alexa.com/data?cli=10&dat=snbamz&url=' . $link;
              $v = file_get_contents($url);
              preg_match('/\<popularity url\="(.*?)" TEXT\="([0-9]+)"\/\>/si', $v, $r);
              return ($r[2]) ? $r[2] : '0';
          }


function google_backs($link)
{
  $url = 'http://www.google.com/search?q=link%3A'.$link;
                                        $v = file_get_contents($url);
                                        preg_match('/of about \<b\>([0-9\,]+)\<\/b\>/si', $v, $r);
                                        return ($r[1]) ? str_replace(',', '', $r[1]) : '0';
}

function msn_backs($link)
{
$url = 'http://search.msn.com/results.aspx?q=link%3A'.$link;
$v = file_get_contents($url);
preg_match('/of ([0-9\,]+) results/si', $v, $r);
return ($r[1]) ? str_replace(',', '', $r[1]) : '0';
}
function yahoo_backs($link)
{
$url = 'http://search.yahoo.com/search?p=links%3A' . $link;
                                        $v = file_get_contents($url);
                                        preg_match('/of ([0-9]+)/si', $v, $r);
                                        return ($r[1]) ? str_replace(',', '', $r[1]) : '0';
}
function altavista_backs($link)
{
        $url = 'http://www.altavista.com/web/results?q=link%3A' . $link;
        $v = file_get_contents($url);
        preg_match('/found ([0-9\,]+) results/si', $v, $r);
        return ($r[1]) ? str_replace(',', '', $r[1]) : '0';
}

function altaweb_backs($link)
{
        $url = 'http://www.alltheweb.com/search?q=link%3A' . $link;
                                        $v = file_get_contents($url);
                                        preg_match('/\<span class\="ofSoMany"\>([0-9\,]+)\<\/span\>/si', $v, $r);
                                        return ($r[1]) ? str_replace(',', '', $r[1]) : '0';
}

echo '<style>.culture
{
    background: #383737;
    color: #CCCCCC;
    font: 10pt verdana, geneva, lucida, "lucida grande", arial, helvetica, sans-serif;
}
</style>';

echo '<form method="POST">
<input type="text" name="web" class="culture">
<input type="submit" name="submit" value="Анализировать" class="culture">
</form>';

if(@$_POST['web'])
{
echo '<table border="1" cellpadding=5 cellspacing=0>';
echo '<tr><td>Page Rank</td><td>'; echo getPR($_POST['web']); echo '</td></tr>';
echo '<tr><td>Yandex Тиц</td><td>'; echo getTIC($_POST['web']); echo '</td></tr>';
echo '<tr><td>Alexa Rank</td><td>'; echo alexa_rank($_POST['web']); echo '</td></tr>';
echo '<tr><td>Каталог DMOZ </td><td>'; if(getDMOZ($_POST['web'])=="1") {  echo "Так";  }  else  {  echo " Ні"; } echo '</td></tr>';
echo '<tr><td>Каталог Yandex </td><td>'; if(getYaCat($_POST['web'])=="1") {  echo "Так";  }  else  {  echo " Ні"; } echo '</td></tr>';
echo '<tr><td>Страниц в Google</td><td>'; echo getGoogleIdx($_POST['web']); echo '</td></tr>';
echo '<tr><td>Страниц в Yandex</td><td>'; echo getYandexIdx($_POST['web']); echo '</td></tr>';
echo '<tr><td>Обратных ссылок в Google </td><td>'; echo google_backs($_POST['web']); echo '</td></tr>';
echo '<tr><td>Обратных ссылок в Yahoo </td><td>'; echo yahoo_backs($_POST['web']); echo '</td></tr>';
echo '<tr><td>Обратных ссылок в AltaVista </td><td>'; echo altavista_backs($_POST['web']); echo '</td></tr>';
echo '<tr><td>Обратных ссылок в AltaWeb </td><td>'; echo altaweb_backs($_POST['web']); echo '</td></tr>';
echo '</table>';
}

?>

Это имел ввиду??

ReduKToR 03.06.2009 17:26

Ржунимагу,вообще это была шутка,но да, именно это

^_WhitE_DeMoN_^ 21.04.2010 15:28

Опять кривой скрипт....
Беклинки Яху не правильны, ПР не выходит и тд


Время: 16:09