Home

OFF-SOFT.net

OFF-SOFT.net

This site is support & information site of WEB,and Software. This site might help you that create software or Web Site…perhaps?[:]

Get Google Page Rank with PHP

Published on| November 13th, 2009 | 1 Comment.
Summary:
This article, Google can display the Google Toolbar is a way to get Peranku of using PHP.
This and similar articles, many people will be found, even if it does not work, is to do well. Here, different results confirmed the extent possible in OS, Linux, FreeBSD, Windows and work with what I would like to introduce you to easy.

Does, immediately, try using the sample source.

Original article:

Let use
From where to download the above, download, pagerank.phps can download the file. File name extension ". Phps" from ". Php" to change to the appropriate WEB uploaded to the site.
※ extension ". Phps" If it is set to operate in just OK.

To ensure easy operation, I tried to create the following sample program.
In, I immediately look at the source code.

[pagerank.php]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//PageRank Lookup v1.1 by HM2K (update: 31/01/07)
//based on an alogoritham found here: http://pagerank.gamesaga.net/
 
//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 $out;
}
 
//if ((!isset($_POST['url'])) && (!isset($_GET['url']))) { echo '<form action="" method="post"><input name="url" type="text"><input type="submit" name="Submit" value="Get Pagerank"></form>'; }
if (isset($_REQUEST['url'])) { echo pagerank($_REQUEST['url']); }

This program only has the following URL and issue the results.
The following example, "http://example.com" look at examples of Page Rank.
http://toolbarqueries.google.com/search?client=navclient-auto&ch=762193099611&features=Rank&q=info:http://example.com

Most, this process is cumbersome, ch to calculate the values of the parameters that are almost spent.
If you are interested, I also found a deep well.

※ This process is so informal logic, and not necessarily correct. In addition, this process may become unusable when I do not know.

The destination URL can be entered directly in the WEB browser, you can get the page rank.
, URL-let's enter.


Was shown the following results.

The first three numbers will rank pages. Here, 7 is that the page rank.


Ch as described earlier and the value of the most important, if you specify the appropriate values, as follows: 403 will be sent.



In the above program using php try.
http://off-soft.toypark.in/?lang=en&url=http://example.com

http://off-soft.toypark.in/?lang=en is, pagerank.php address is uploaded.
Above address, in fact, you can check it out.

Bar displays the following picture.



Comments

1 Comment. “Get Google Page Rank with PHP”


  1. check page rank in bulk
    August 25th, 2012 @ 11:14:25

    Amazing! Its truly amazing piece of writing, I have got much clear idea concerning
    from this post.

Leave a Reply







  • はてなブックマークへ追加する
  • Facebookでシェアする
  • twitter でつぶやく
  • Google Plusでシェアする
  • Pocketでシェアする
ページトップへ