Kom ihåg mig?
Home Menu

Menu


Pagerank script

 
Ämnesverktyg Visningsalternativ
Oläst 2009-11-18, 09:23 #1
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Annars har WN en trevlig grej också:

http://pr.wn.se/
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-11-18, 16:11 #2
fr33r1d3 fr33r1d3 är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 113
fr33r1d3 fr33r1d3 är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 113
Citat:
Ursprungligen postat av Jonas Visa inlägg
Annars har WN en trevlig grej också:

http://pr.wn.se/
Den gav bara en massa felmeddelanden för mig.
fr33r1d3 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-11-18, 16:28 #3
BjörnJ BjörnJ är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2009
Inlägg: 971
BjörnJ BjörnJ är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2009
Inlägg: 971
Citat:
Ursprungligen postat av fr33r1d3 Visa inlägg
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?
BjörnJ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-11-18, 17:42 #4
Jawns avatar
Jawn Jawn är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2004
Inlägg: 986
Jawn Jawn är inte uppkopplad
Mycket flitig postare
Jawns avatar
 
Reg.datum: Aug 2004
Inlägg: 986
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 ...

Senast redigerad av Jawn den 2009-11-18 klockan 17:45
Jawn är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 00:44.

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