Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

pagerank scripti

xmcdeltat

0
Onaylı Üye
Üye
Katılım
3 Temmuz 2010
Mesajlar
0
Açılan Konu
7
Tepki puanı
0
pagerank hesaplamada ve url sinde sorun var
çıkan veriler resim olarak şunlar




vsqj8.jpg



Kod:
<?php
    class pagerank 
    {
        var $url;
        function pagerank ($url, $options)
        {
            $this->url = parse_url('http://' . ereg_replace('^http://', '', $url));
            $this->url['full'] = 'http://' . ereg_replace('^http://', '', $url);
            echo "additionalinfo = new Array(";
            if ($options['pagerank']) {
                $this->getPagerank();
            }
            if ($options['alexaRank']) {
                $this->getAlexaRank();
            }
            if ($options['dmoz']) {
                $this->getDmoz();
            }
            if ($options['backlinksGoogle']) {
                $this->getBacklinksGoogle();
            }
            if ($options['backlinksYahoo']) {
                $this->getBacklinksYahoo();
            }
            if ($options['backlinksMSN']) {
                $this->getBacklinksMSN();
            }
            if ($options['resultsAltaVista']) {
                $this->getResultsAltaVista();
            }
            if ($options['resultsAllTheWeb']) {
                $this->getResultsAllTheWeb();
            }
            if ($options['sitetitle']) {
                $this->getSiteTitle();
            }
            if ($options['thumbnail']) {
                $this->getThumbnail();
            }
            echo ');';
        }
        
        function getSiteTitle()
        {
            //////////////////////// Find Title of a give url  ////////////////////////////
            $url = $this->url['full'];
            @$data=file_get_contents($url);
            $title='<font color=red>No title defined!</font>';
            $data=str_replace('<TITLE>','<title>',$data);$data=str_replace('</TITLE>','</title>',$data);
            $data=str_replace('<Title>','<title>',$data);$data=str_replace('</Title>','</title>',$data);
            
            $iadevar=1;
            $excade = explode('<title>',$data);
            if(isset($excade[1]))
            {
                $excade2=explode('</title>',$excade[1]);
                if(isset($excade2[1])){$title=trim($excade2[0]);} 
            }
            ///////////////////////////////////////////////////////////////////////////////
            $value = $title;
            echo '"'.$value.'"';
        }
        
        function getPage ($url) {
            if (function_exists('curl_init')) {
                $ch = curl_init($url);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
                curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
                return curl_exec($ch);
            } else {
                return file_get_contents($url);
            }
        }
        
        function getPagerank () {
            $url = 'info:' . $this->url['host'];
            $checksum = $this->checksum($this->strord($url));
            $url = 'http://www.google.com/search?client=navclient-auto&ch=6' . $checksum . '&features=Rank&q=' . $url;
            $data = $this->getPage($url);
            preg_match('#Rank_[0-9]:[0-9]:([0-9]+){1,}#si', $data, $p);
            $value = ($p[1]) ? $p[1] : 0;
            echo '"'.$value.'",';
        }
        
        function getAlexaRank() {
            $url = $this->url['host'];
            $url = "http://data.alexa.com/data?cli=10&dat=s&url=$url";
            $data = $this->getPage($url);
            preg_match('#<POPULARITY URL="(.*?)" TEXT="([0-9]+){1,}"/>#si', $data, $p);
            $value = ($p[2]) ? number_format($this->toInt($p[2])) : 0;
            echo '"'.$value.'",';
        
        }
        
        function getDmoz() {
            $url = ereg_replace('^www\.', '', $this->url['host']);
            $url = "http://search.dmoz.org/cgi-bin/search?search=$url";
            $data = $this->getPage($url);
            if (ereg('<center>No <b><a href="http://dmoz\.org/">Open Directory Project</a></b> results found</center>', $data)) {
                $value = '0';
            } else {
                $value = '1';
            }
            echo '"'.$value.'",';
        }
        
        function getBacklinksGoogle() {
            $uri = $this->url['host'];
            $uri = trim(eregi_replace('http://', '', $uri)); $uri = trim(eregi_replace('http', '', $uri));
        $url = 'http://www.google.com/search?hl=en&lr=&ie=UTF-8&q=link:'.$uri.'&filter=0';
        
        $v = $this->file_get_contents_curl($url);

//        preg_match("/of about <b\>(.*?)\<\/b\>/si",$v,$r);
//        preg_match("/of <b\>(.*?)\<\/b\>/si",$v,$s);
        preg_match('/<div id=resultStats>About ([0-9,]+) results<nobr>/',$v,$s);

        echo ($s[1]) ? "\"".$s[1]."\", " : '"0", ';
/*
            $url = 'http://www.google.com/search?hl=en&lr=&ie=UTF-8&q=link:'.$url.'&filter=0';
            $data = $this->getPage($url);
            preg_match("/<div id=resultStats>([A-Za-z]+ |)([0-9,]+) result/si",$data,$r);
            $value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
            echo '"'.$value.'",';*/
        }



        function file_get_contents_curl($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_URL, $url);
    $data = curl_exec($ch);
    curl_close($ch);

    return $data;
} 


        
        function getBacklinksYahoo() {
            $url = $this->url['host'];
            $url = 'http://siteexplorer.search.yahoo.com/search?p=' . urlencode("http://$url") . '&bwm=i';
            $data = $this->getPage($url);
            preg_match('#Inlinks \(([0-9,]+){1,}\)#si', strip_tags($data), $p);
            $value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
            echo '"'.$value.'",';
        }
        
        function getBacklinksMSN() {
            $url = $this->url['host'];
            $url = 'http://search.live.com/results.aspx?q=link%3A' . urlencode($url);
            $data = $this->getPage($url);
            preg_match('#1 of ([0-9,]+){1,}#si', $data, $p);
            $value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
            echo '"'.$value.'",';
        }
        
        function getResultsAltaVista() {
            $url = $this->url['host'];
            $url = 'http://www.altavista.com/web/results?q=' . urlencode($url);
            $data = $this->getPage($url);
            preg_match('#AltaVista found ([0-9,]+){1,} results#si', $data, $p);
            $value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
            echo '"'.$value.'",';
        }
        
        function getResultsAllTheWeb() {
            $url = $this->url['host'];
            $url = 'http://www.alltheweb.com/search?q=' . urlencode($url);
            $data = $this->getPage($url);
            preg_match('#<span class="ofSoMany">([0-9,]+){1,}</span>#si', $data, $p);
            $value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
            echo '"'.$value.'",';
        }




 
     
        function getThumbnail() {
            $url = urlencode($this->url['host']);
            //echo "\t<thumbnail>http://msnsearch.srv.girafa.com/srv/i?s=MSNSEARCH&r=$url</thumbnail>\n";
        }
        
        function toInt ($string) {
            return preg_replace('#[^0-9]#si', '', $string);
        }
        
        function to_int_32 (&$x) {
    $z = hexdec(80000000);
    $y = (int)$x;
    // on 64bit OSs if $x is double, negative ,will return -$z in $y
    // which means 32th bit set (the sign bit)
    if ($y==-$z && $x<-$z) {
        $y = (int)((-1)*$x);// this is the hek, make it positive before
        $y = (-1)*$y; // switch back the sign
    }
    $x = $y;
        }
        
        function zero_fill ($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; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 13)));
            $b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 8));
            $c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 13)));
            $a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 12)));
            $b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 16));
            $c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 5)));
            $a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 3)));
            $b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 10));
            $c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 15)));
            return array($a,$b,$c);
        }
        
        function checksum ($url, $length = lisanssız, $init = 0xE6359A60) {
            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 = $this->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 = $this->mix($a, $b, $c);
            return ($mix[2] < 0 ) ? (4294967296 + $mix[2]) : $mix[2];
        }
        
        function strord ($string) {
            for($i = 0; $i < strlen($string); $i++) {
                $result[$i] = ord($string{$i});
            }
            return $result;
        }
        
    }
?>
scripttin ana hesaplama yapan dosyası fakat hiç bir şey çalışmıyor sadece google indexi hariç pagerank 0 sıfıt çıkıyor.bu scriptte düzenlemem gereken bir kaç tane yerin ne olduğunu bilmiyorum. script hakkında yardımlarınızı bekliyorum.
ücretli düzenlemek isteyen varsa ücretlide düzenletebilirim.
 

kuzgun

Onaylı Üye
Üye
Katılım
19 Temmuz 2008
Mesajlar
12,392
Açılan Konu
430
Tepki puanı
259
zeytech.net pr scripti dağıtıyordu bir zamanlar
istersen bir bak
 
Üst