Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: тИЦ и PR
 
 автор: Webmaster-X   (05.11.2006 в 16:37)   письмо автору
 
 

Подскажите как средствами рнр получить значения тИЦ и PR ?

   
 
 автор: Lelik   (05.11.2006 в 17:25)   письмо автору
 
   для: Webmaster-X   (05.11.2006 в 16:37)
 

поищи в этом форуме. Тут выкладывались исходники для проверки тИЦ и PR.

   
 
 автор: ihoru   (05.11.2006 в 20:14)   письмо автору
 
   для: Webmaster-X   (05.11.2006 в 16:37)
 

Нашел в интернете (http://gofman.name/pr/, http://gofman.name/pr/code.php):


Определение индекса цитирования php

<?
function yandex($url){
    
$newurl str_replace("http://","",$url);
    
$pcy "http://search.yaca.yandex.ru/yca/cy/ch/".$newurl."/";
    
$ind join("",File("$pcy"));
    
$pos strpos($ind,"Кто ссылается");
    
$kusok substr($ind,$pos);
    
ereg('[[:digit:]]+</a>',$kusok,$res);
    if(Isset(
$res[0])){
        
$cy str_replace("</a>","",$res[0]);
    }else{
        
$cy 0;
    }
    return 
$cy;
}
?>
1
Определение PageRank php

<?
define
('GOOGLE_MAGIC'0xE6359A60);

function 
zeroFill($a$b){
    
$z hexdec(80000000);
    if (
$z $a){
        
$a = ($a>>1);
        
$a &= (~$z);
        
$a |= 0x40000000;
        
$a = ($a>>($b-1));
    }else{
        
$a = ($a>>$b);
    }
    return 
$a;
}

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

function 
GoogleCH($url$length=null$init=GOOGLE_MAGIC){
    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 
$c+=($url[$k+8]<<8);
        case 
$b+=($url[$k+7]<<24);
        case 
$b+=($url[$k+6]<<16);
        case 
$b+=($url[$k+5]<<8);
        case 
$b+=($url[$k+4]);
        case 
$a+=($url[$k+3]<<24);
        case 
$a+=($url[$k+2]<<16);
        case 
$a+=($url[$k+1]<<8);
        case 
$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 
get_pr($url){
    
$result=array("",-1);

    if((
$url.""!="")&&($url.""!="http://")):
        if(
substr(strtolower($url),0,7)!="http://"):
            
$url="http://".$url;
        endif;

        
$url="info:".$url;
        
$checksum=GoogleCH(strord($url));
        
$google_url=sprintf("http://www.google.com/search?client=navclient-auto&ch=6%u&features=Rank&q=".$url,$checksum); // url to get from google

        
$contents="";

        
$handle fopen($google_url"rb");
        
$contents '';
        while(!
feof($handle)){
            
$contents.= fread($handle8192);
        }
        
fclose($handle);
        
$p=explode(":",$contents);
        if(isset(
$p[2])):
            
$result[1]=$p[2];
        endif;
    endif;
    return 
$result;
}

function 
google_pr($url){
  global 
$db;
    if(
eregi('^http://www.',$url)){
        
$url_www str_replace('http://www.','http://',$url);
    }else{
        
$url_www str_replace('http://','http://www.',$url);
    }
    
$pr=get_pr($url);
    
$output=$pr[0];
    
$pagerank=$pr[1];
    
sleep(1);
    
$pr=get_pr($url_www);
    
$output_www=$pr[0];
    
$pagerank_www=$pr[1];
    if(
$pagerank<$pagerank_www){
        
$pagerank=$pagerank_www;
    }
    if (
$pagerank==-1) {
        
$pagerank=0;
    }
    return 
intval($pagerank);
}
?>

не знаю правда, работает или нет, еще не успел проверить

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования