WN

WN (https://www.wn.se/forum/index.php)
-   Domännamn (https://www.wn.se/forum/forumdisplay.php?f=16)
-   -   Pagerank script (https://www.wn.se/forum/showthread.php?t=1039154)

studiox 2009-11-17 15:03

Pagerank script
 
Vet inte om detta borde ligga i servertråden, men det handlar ju om domännamn så jag lägger den här :)

Finns det något, i dag, fungerande PR script (php, perl, asp whatever?) som fungerar (Alla jag tittat på fungerar inte längre :()

Eller får man scrapa mypagerank? Gillar inte det direkt i fall dom skulle bli bannade av google (känns iofs som dom gör det med googles välsignelse :D)

eng3l 2009-11-17 17:13

Är lite osäker på Script men jag brukar använda någon av dessa:

http://www.cascandra.com/web-tools/m...erank-checker/
http://www.seochat.com/seo-tools/pagerank-lookup/
http://checkbulkpagerank.com/

MrBob 2009-11-17 18:12

Testade tre domäner:
1. Casandra = alla fick pr 0
2. SEOchat = alla fick pr 3
3. CheckBulk = alla fick pr 3

En av domänerna hade tidigare i ett annat test pr 4. Men sånt kan ju ändra sig... (för någon månad sedan.)

Dessa länkar känns inte överdrivet pålitliga! Men det kanske inte heller är tanken!?

studiox 2009-11-17 22:24

Hitta ett som fungerade :-) Gått igenom 400 domäner utan problem, vissa hade visst PR 7 (helt otroligt :P)

BjörnJ 2009-11-17 22:27

Dela gärna med dig av vad du hittade... :)

Jonas 2009-11-18 09:23

Annars har WN en trevlig grej också:

http://pr.wn.se/

fr33r1d3 2009-11-18 16:11

Citat:

Ursprungligen postat av Jonas (Inlägg 20331834)
Annars har WN en trevlig grej också:

http://pr.wn.se/

Den gav bara en massa felmeddelanden för mig.

BjörnJ 2009-11-18 16:28

Citat:

Ursprungligen postat av fr33r1d3 (Inlägg 20331903)
Den gav bara en massa felmeddelanden för mig.

Samma för mig. Dessutom verkar den vara gjord för att manuellt kolla domäner en och en, och inte många.

studiox, vad var det du hittade?

Varifrån får sajter som pagerankme informationen? Har Google något api?

Jawn 2009-11-18 17:42

Kod:

<?php


        //settings - host and user agent
        $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';

        //convert a string to a 32-bit integer
        function StrToNum($Str, $Check, $Magic) {
            $Int32Unit = 4294967296;  // 2^32
       
            $length = strlen($Str);
            for ($i = 0; $i < $length; $i++) {
                $Check *= $Magic;       
                //If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31),
                //  the result of converting to integer is undefined
                //  refer to http://www.php.net/manual/en/language.types.integer.php
                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;
        }

        //genearate a hash for a url
        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);
        }

        //genearate a checksum for the hash string
        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;
        }

        //return the pagerank checksum hash
        function getch($url) { return CheckHash(HashURL($url)); }

        //return the pagerank figure
        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";
                  //echo "<pre>$out</pre>\n"; //debug only
                  $out .= "User-Agent: $googleua\r\n";
                  $out .= "Host: $googlehost\r\n";
                  $out .= "Connection: Close\r\n\r\n";
               
                  fwrite($fp, $out);
                 
                  //$pagerank = substr(fgets($fp, 128), 4); //debug only
                  //echo $pagerank; //debug only
                  while (!feof($fp)) {
                                $data = fgets($fp, 128);
                                //echo $data;
                                $pos = strpos($data, "Rank_");
                                if($pos === false){} else{
                                        $pr=substr($data, $pos + 9);
                                        $pr=trim($pr);
                                        $pr=str_replace("\n",'',$pr);
                                        return $pr;
                                }
                  }
                  //else { echo "$errstr ($errno)<br />\n"; } //debug only
                  fclose($fp);
                }
        }

        //generate the graphical pagerank
        function pagerank($url,$width=40,$method='style') {
                if (!preg_match('/^(http:\/\/)?([^\/]+)/i', $url)) { $url='http://'.$url; }
                $pr=getpr($url);
                $pagerank="PageRank: $pr/10";
       
                //The (old) image method
                if ($method == 'image') {
                $prpos=$width*$pr/10;
                $prneg=$width-$prpos;
                $html='<img src="http://www.google.com/images/pos.gif" width='.$prpos.' height=4 border=0 alt="'.$pagerank.'"><img src="http://www.google.com/images/neg.gif" width='.$prneg.' height=4 border=0 alt="'.$pagerank.'">';
                }
                //The pre-styled method
                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: 4px; line-height: 4px;"><span></span></strong></div>';
                }
               
                //$out='<a href="'.$url.'" title="'.$pagerank.'">'.$html.'</a>';
                return $pr;
        }

        // for loop for finding pagerank of multple urls

        echo pagerank("wn.se");

den här fungera för mig när jag prova scriptet för några veckor sedan, har ej orkat prova den igen innan jag posta det här inlägget...


EDIT

Jag har ej kodat scriptet.

Om det nu skulle vara så att det inte fungerar så kan det mycket väl vara så att IPet är bannad på ditt webbhotell.

Prova precis scriptet vilket fungerar ...

BjörnJ 2009-11-18 21:03

Tack Jawn! :) Det fungerar för mig också. Jag antar att det är bäst att använda det med måtta. Jag ska nog göra ett skript för att kolla PR och föra statistik över mina domäner. Kanske köra det en gång i månaden, och delay mellan varje domän.

Finns det något liknande för att kolla antal inlänkar? Mot Yahoo då kanske?


Alla tider är GMT +2. Klockan är nu 12:37.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson