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

Ücretsiz Pagerank Kontrol Script

atay

0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Açılan Konu
298
Tepki puanı
36
pagerank kontrolü yapan php script elinde olan varsa veya piyasadaki pagerank sitelerinin pagerank kontrolünü nasıl yaptığını (hangi kaynaktan pagerank verisini alıyorlar) bilen varsa, bilgilerini açıklamaya davet ediyorum :)
 

Hobichat

0
Onaylı Üye
Üye
Katılım
26 Ekim 2006
Mesajlar
336
Açılan Konu
29
Tepki puanı
1
http://pr.blogflux.com/prx.php?s=http://".$uri[host]
Tamamen bundan ibaret. Tabi scriptlerde proxy sunucuda kullanıyoruz. Ama sen dersen ben günde 40 bin domain sorgulayacagım bu script seni çok yavaşlatır ve zorlar. Bunun için masa üstü uygulamalar var satılıyor.Masa üstü uygulamaları tavsiye ederim.Ama ben kendi halimde günlük 5bin 10bin sorgu yapacam dersen script uygundur.
 

sverdlow

0
Onaylı Üye
Üye
Katılım
17 Kasım 2005
Mesajlar
2,778
Açılan Konu
161
Tepki puanı
0
Konum
Ankara/Kayseri
bu konuyu ben de merak ediyorum.
direk googleın kendisinden sorgulama imkanımız yok mu?
 

atay

0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Açılan Konu
298
Tepki puanı
36
Tamamen bundan ibaret. Tabi scriptlerde proxy sunucuda kullanıyoruz. Ama sen dersen ben günde 40 bin domain sorgulayacagım bu script seni çok yavaşlatır ve zorlar. Bunun için masa üstü uygulamalar var satılıyor.Masa üstü uygulamaları tavsiye ederim.Ama ben kendi halimde günlük 5bin 10bin sorgu yapacam dersen script uygundur.

teşekkürler...

şöyle ki, bir sistem yazıyorum. domainlerin pr değerini text cinsinden alıp, aldığım veriyi veritabanına işlemem gerekiyor. verdiğin url tarzı birşey işimi görebilir fakat bu gif resim olarak çıktı veriyor. başka bir sorgulama imkanı biliyormusun?
 

atay

0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Açılan Konu
298
Tepki puanı
36
aslında api yapmayı düşünüyorum ama şimdilik vaktim yok....

http://www.ysfkc.com/dosyalar/siteinfo?i=googleP&u=ysfkc.com

i parametre değerleri:
googleP : PR
googleI : İndex ( büyük ı harfi )
googleB: Backlink
alexa: Alexa Rank
dmoz: Dmoz Kaydı Kontrolü

u parametresi ise url dir

sayfaya yazdırdığınız pr değeri verisini google'ın neresinde aldığınızı belirtebilirseniz, kendime bir fonksiyon oluşturup daha sağlıklı bir şekilde kullanabilirim.

bu şekilde verdiğiniz urlden pr değerini sorgulatırsam, sitenizde olası bir sorun yaşandığında direk banada yansır.

fakat tam olarak aradığım buydu.


tr.st teşekkürler, fakat url adresini değiştirip bir deneme yaptığımda Error sayfası ile karşılaşıyorum. Eğer error sayfasını aşabilirsem bu sorgulatmada işimi görebilir.
 

atay

0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Açılan Konu
298
Tepki puanı
36
Buldum, daha sonra arayan olursa kaynak olsun. :)

Direk veriyi text olarak yazdırıyor. Gayet kullanışlı.

PHP:
$googlehost='toolbarqueries.google.com';
$googleua='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';
function StrToNum($Str, $Check, $Magic) {
    $Int32Unit = 4294967296;  // 2^32

    $length = strlen($Str);
    for ($i = 0; $i < $length; $i++) {
        $Check *= $Magic;     
        if ($Check >= $Int32Unit) {
            $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
            //if the check less than -2^31
            $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
        }
        $Check += ord($Str{$i}); 
    }
    return $Check;
}
function HashURL($String) {
    $Check1 = StrToNum($String, 0x1505, 0x21);
    $Check2 = StrToNum($String, 0, 0x1003F);

    $Check1 >>= 2;     
    $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);
    $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);
    $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);    
    
    $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F );
    $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );
    
    return ($T1 | $T2);
}
function CheckHash($Hashnum) {
    $CheckByte = 0;
    $Flag = 0;

    $HashStr = sprintf('%u', $Hashnum) ;
    $length = strlen($HashStr);
    
    for ($i = $length - 1;  $i >= 0;  $i --) {
        $Re = $HashStr{$i};
        if (1 === ($Flag % 2)) {              
            $Re += $Re;     
            $Re = (int)($Re / 10) + ($Re % 10);
        }
        $CheckByte += $Re;
        $Flag ++;    
    }

    $CheckByte %= 10;
    if (0 !== $CheckByte) {
        $CheckByte = 10 - $CheckByte;
        if (1 === ($Flag % 2) ) {
            if (1 === ($CheckByte % 2)) {
                $CheckByte += 9;
            }
            $CheckByte >>= 1;
        }
    }

    return '7'.$CheckByte.$HashStr;
}
function getch($url) { return CheckHash(HashURL($url)); }

function getpr($url) {
    global $googlehost,$googleua;
    $ch = getch($url);
    $fp = fsockopen($googlehost, 80, $errno, $errstr, 30);
    if ($fp) {
       $out = "GET /search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url HTTP/1.1\r\n";
       $out .= "User-Agent: $googleua\r\n";
       $out .= "Host: $googlehost\r\n";
       $out .= "Connection: Close\r\n\r\n";
    
       fwrite($fp, $out);
       while (!feof($fp)) {
            $data = fgets($fp, 128);
            $pos = strpos($data, "Rank_");
            if($pos === false){} else{
                $pr=substr($data, $pos + 9);
                $pr=trim($pr);
                $pr=str_replace("\n",'',$pr);
                return $pr;
            }
       }
       fclose($fp);
    }
}
function pagerank($url,$width=40,$method='image') {
    if (!preg_match('/^(http:\/\/)?([^\/]+)/i', $url)) { $url='http://'.$url; }
    $pr=getpr($url);
    if(!$pr)
    {
        $pr=0;
    }
    $pagerank="PageRank: $pr/10";

    //Resim Bas
    if ($method == 'image') {
    $prpos=$width*$pr/10;
    $prneg=$width-$prpos;
    $html=$pr;
    }
    //Div Class bas
    if ($method == 'style') {
    $prpercent=100*$pr/10;
    $html='<div style="position: relative; width: '.$width.'px; padding: 0; background: #D9D9D9;"><strong style="width: '.$prpercent.'%; display: block; position: relative; background: #5EAA5E; text-align: center; color: #333; height: 8px; line-height: 8px;"><span></span></strong></div>';
    }
    
    $out=''.$html.'</div>
    ';
    
    return $out;
}

if ((!isset($_POST['url'])) && (!isset($_GET['url']))) 
{ 
echo '<div id="container">
    <form id="fm-form" method="post" action="" >
    <fieldset>
        <legend>PageRank Check</legend>
    <div class="fm-opt">
      <label for="fm-eposta">Domain:</label>
      <input name="url" id="url" type="text" size="20" /> 
    </div>
    </fieldset> 

    <fieldset>    
    <div id="fm-submit" class="fm-req">
      <input name="Submit" value="PR Check" type="submit" /> </form>
    </div>
</div>'; 
}
if (isset($_REQUEST['url'])) { echo pagerank($_REQUEST['url']); }
 

sverdlow

0
Onaylı Üye
Üye
Katılım
17 Kasım 2005
Mesajlar
2,778
Açılan Konu
161
Tepki puanı
0
Konum
Ankara/Kayseri
sağolasın üstat, işe yarayacak.
Buldum, daha sonra arayan olursa kaynak olsun. :)

Direk veriyi text olarak yazdırıyor. Gayet kullanışlı.

PHP:
$googlehost='toolbarqueries.google.com';
$googleua='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';
function StrToNum($Str, $Check, $Magic) {
    $Int32Unit = 4294967296;  // 2^32

    $length = strlen($Str);
    for ($i = 0; $i < $length; $i++) {
        $Check *= $Magic;     
        if ($Check >= $Int32Unit) {
            $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
            //if the check less than -2^31
            $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
        }
        $Check += ord($Str{$i}); 
    }
    return $Check;
}
function HashURL($String) {
    $Check1 = StrToNum($String, 0x1505, 0x21);
    $Check2 = StrToNum($String, 0, 0x1003F);

    $Check1 >>= 2;     
    $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);
    $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);
    $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);    
    
    $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F );
    $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );
    
    return ($T1 | $T2);
}
function CheckHash($Hashnum) {
    $CheckByte = 0;
    $Flag = 0;

    $HashStr = sprintf('%u', $Hashnum) ;
    $length = strlen($HashStr);
    
    for ($i = $length - 1;  $i >= 0;  $i --) {
        $Re = $HashStr{$i};
        if (1 === ($Flag % 2)) {              
            $Re += $Re;     
            $Re = (int)($Re / 10) + ($Re % 10);
        }
        $CheckByte += $Re;
        $Flag ++;    
    }

    $CheckByte %= 10;
    if (0 !== $CheckByte) {
        $CheckByte = 10 - $CheckByte;
        if (1 === ($Flag % 2) ) {
            if (1 === ($CheckByte % 2)) {
                $CheckByte += 9;
            }
            $CheckByte >>= 1;
        }
    }

    return '7'.$CheckByte.$HashStr;
}
function getch($url) { return CheckHash(HashURL($url)); }

function getpr($url) {
    global $googlehost,$googleua;
    $ch = getch($url);
    $fp = fsockopen($googlehost, 80, $errno, $errstr, 30);
    if ($fp) {
       $out = "GET /search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url HTTP/1.1\r\n";
       $out .= "User-Agent: $googleua\r\n";
       $out .= "Host: $googlehost\r\n";
       $out .= "Connection: Close\r\n\r\n";
    
       fwrite($fp, $out);
       while (!feof($fp)) {
            $data = fgets($fp, 128);
            $pos = strpos($data, "Rank_");
            if($pos === false){} else{
                $pr=substr($data, $pos + 9);
                $pr=trim($pr);
                $pr=str_replace("\n",'',$pr);
                return $pr;
            }
       }
       fclose($fp);
    }
}
function pagerank($url,$width=40,$method='image') {
    if (!preg_match('/^(http:\/\/)?([^\/]+)/i', $url)) { $url='http://'.$url; }
    $pr=getpr($url);
    if(!$pr)
    {
        $pr=0;
    }
    $pagerank="PageRank: $pr/10";

    //Resim Bas
    if ($method == 'image') {
    $prpos=$width*$pr/10;
    $prneg=$width-$prpos;
    $html=$pr;
    }
    //Div Class bas
    if ($method == 'style') {
    $prpercent=100*$pr/10;
    $html='<div style="position: relative; width: '.$width.'px; padding: 0; background: #D9D9D9;"><strong style="width: '.$prpercent.'%; display: block; position: relative; background: #5EAA5E; text-align: center; color: #333; height: 8px; line-height: 8px;"><span></span></strong></div>';
    }
    
    $out=''.$html.'</div>
    ';
    
    return $out;
}

if ((!isset($_POST['url'])) && (!isset($_GET['url']))) 
{ 
echo '<div id="container">
    <form id="fm-form" method="post" action="" >
    <fieldset>
        <legend>PageRank Check</legend>
    <div class="fm-opt">
      <label for="fm-eposta">Domain:</label>
      <input name="url" id="url" type="text" size="20" /> 
    </div>
    </fieldset> 

    <fieldset>    
    <div id="fm-submit" class="fm-req">
      <input name="Submit" value="PR Check" type="submit" /> </form>

    </div>
</div>'; 
}
if (isset($_REQUEST['url'])) { echo pagerank($_REQUEST['url']); }
 

Mehmet

0
Onaylı Üye
Üye
Katılım
30 Eylül 2006
Mesajlar
2,415
Açılan Konu
76
Tepki puanı
0
Konum
Zaağane
Kaç sorgu yapabiliyor ban falan yemiyor mu ip, hızı nasıl bir de saatte kaç url gibi
 

atay

0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Açılan Konu
298
Tepki puanı
36
@sverdlow: rica ederim.

@mehmet: yaptığım araştırmaya göre neredeyse tüm siteler yukarıda eklediğim kod veya benzeri ile toolbarqueries.google.com'dan verileri çekiyor. sınırlandırma olduğunu hiç zannetmiyorum.
 

Raiden

0
Onaylı Üye
Üye
Katılım
13 Ocak 2005
Mesajlar
339
Açılan Konu
23
Tepki puanı
0
sınırlandırma yok tek sorun yaşarsan o da sunucularının karşılık verememesi veya kapalı olmasından kaynaklanır.
 
Üst