دریافت رنک گوگل

دریافت رنک گوگل

همه شما می دانید که رنک گوگل چیز خیلی مهمی هست . یک عدد که بازه ی 0 تا 10 را در بر می گیرد. بعضی مواقع نیاز هست که به کاربران نشان بدهیم که رنک گوگل ما چند است؟ و یا ساخت اسکریپت دریافت رنک گوگل و هر چیز دیگری … برای این کار از کلاس زیر استفاده می کنیم :

class PR {
	public function get_google_pagerank($url) {
		$query="http://toolbarqueries.google.com/tbr?client=navclient-auto&ch=".$this->CheckHash($this->HashURL($url)). "&features=Rank&q=info:".$url."&num=100&filter=0";
		$data=file_get_contents($query);
		$pos = strpos($data, "Rank_");
		if($pos === false){} else{
			$pagerank = substr($data, $pos + 9);
			return $pagerank;
		}
	}
	public 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));
				$Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
			}
			$Check += ord($Str{$i});
		}
		return $Check;
	}
	public function HashURL($String)
	{
		$Check1 = $this->StrToNum($String, 0x1505, 0x21);
		$Check2 = $this->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);
	}
	public 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;
	}
}

و کار با این کلاس راحت تر از اون چیزی که فکر می کنید. مانند مثال :

$url='http://php.net/';
$pr = new PR();
echo $pr->get_google_pagerank($url);

امیدوارم استفاده ببرید.

2 thoughts on “دریافت رنک گوگل

  1. با سلام
    میخواستم بگم واقعا ممنون از این سایتی که گذاشتین ولی ای کاش توضیحات بیشتری میدادین تا اونای که سوادشون کمتره بهتر متوجه بشن

    1. سلام
      اولا اینکه نظر لطفتون هست درباره سایت!
      دوما هم نداره …!
      اما ما شما را هم فراموش نکردیم
      هر جور سوالی داشتید می توانید در انجمن پرشین اسکریپت بپرسید . من یا دوستان پاسخ گوی شما هستیم

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.