bigger  reset  smaller
Japanese(JP)English (United Kingdom)

 
Dear visitor who can read English
This page is a page translated automatically by Google AJAX Language API.
Please comment to this page if you could not understand. A PERSON will review this page .
I think that you will be able to understand this page later. Please give a little time to us.
Best regards,

There is also this article ...

  • Joomla! Broken menu links(1.5.10)
    Just, Joomla! When I was working on the upgrade (to 1.5.10 UPDATE), and often, and go to the link information of the menu template to the opening, menu to have a broken now. This time, wri ...

Get Google Page Rank with PHP

Print E-mail
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
23
45
67
89
1011
1213
1415
1617
1819
2021
2223
2425
2627
2829
3031
3233
3435
3637
3839
4041
4243
4445
4647
4849
5051
5253
5455
5657
5859
6061
6263
6465
6667
6869
7071
7273
7475
7677
7879
8081
8283
8485
8687
8889
9091
9293
9495
9697
9899
100101
102103
104105
106107
108109
110111
112113
114115
116117
118119
120121
122123
124125
126127
128129
130131
132133
134135
136137
<?php
 //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 integerfunction 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 urlfunction 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 stringfunction 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 hashfunction 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://www.off-soft.net/webapp/pagerank.php?url=http://example.com

http://www.off-soft.net/webapp/ is, pagerank.php address is uploaded.
Above address, in fact, you can check it out.

Bar displays the following picture.




Last Updated on Tuesday, 26 January 2010 07:08

 

Add your comment

Your name:
Subject:
Comment: