1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Google API for showing PageRank, with PHP.

Discussion in 'Google API' started by fatabbot, Jun 1, 2007.

  1. #1
    Hi,


    I have 3 url's on a site and would like to add the pagerank next to them, not hard coded, but by requesting it real time.
    I searched the google api's, but there is no API that has this functionality.
    Anyone know how to accomplish this?


    Regards
     
    fatabbot, Jun 1, 2007 IP
    Esco likes this.
  2. picobello

    picobello Well-Known Member

    Messages:
    572
    Likes Received:
    17
    Best Answers:
    0
    Trophy Points:
    110
    #2
    picobello, Jun 2, 2007 IP
  3. fatabbot

    fatabbot Well-Known Member

    Messages:
    559
    Likes Received:
    10
    Best Answers:
    0
    Trophy Points:
    138
    #3
    Not really what i need no...
    This thing just checks the pagerank of the site where it's on.

    Like i said in the first post, i have a list of url's and want to post the pagerank along with all of them.
     
    fatabbot, Jun 2, 2007 IP
  4. picobello

    picobello Well-Known Member

    Messages:
    572
    Likes Received:
    17
    Best Answers:
    0
    Trophy Points:
    110
    #4
    I know that some other service like this accept the url as a parameter of the image query => In this case it will be fine for you? Just launch a search in Google with "free pagerank image"
     
    picobello, Jun 3, 2007 IP
  5. livingearth

    livingearth Well-Known Member

    Messages:
    1,469
    Likes Received:
    83
    Best Answers:
    0
    Trophy Points:
    140
    #5
    The code below will do exactly what you need...
    Just change the Url in the site variable to what you need.
    [​IMG]
    <img align=right border='0' src='http://www.finqoo.com/display_rank?site=http://www.yahoo.com/'>
     
    livingearth, Jun 3, 2007 IP
    SticKer, fatabbot and anjanesh like this.
  6. SticKer

    SticKer Well-Known Member

    Messages:
    2,393
    Likes Received:
    78
    Best Answers:
    0
    Trophy Points:
    115
    #6
    this is something new i learnt today, thnx for this tip.

    rep added :)
     
    SticKer, Jun 3, 2007 IP
  7. fatabbot

    fatabbot Well-Known Member

    Messages:
    559
    Likes Received:
    10
    Best Answers:
    0
    Trophy Points:
    138
    #7
    Great find. Thanks :)
     
    fatabbot, Jun 3, 2007 IP
  8. fatabbot

    fatabbot Well-Known Member

    Messages:
    559
    Likes Received:
    10
    Best Answers:
    0
    Trophy Points:
    138
    #8
    How exactly does that site do it? I can't find any API to use in my own code.
    Is there a way to do it without using an external site?
     
    fatabbot, Jun 3, 2007 IP
  9. lionstarr

    lionstarr Peon

    Messages:
    276
    Likes Received:
    8
    Best Answers:
    0
    Trophy Points:
    0
    #9
    I'm not sure if this still works, but if it does, that's what you need!
     
    lionstarr, Jun 4, 2007 IP
  10. dananos

    dananos Peon

    Messages:
    18
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #10
    You can use the google search API to do a query for link:// which gives you a good pointer, but doesn't quite answer what the PR is.
     
    dananos, Jul 2, 2007 IP
  11. vnviews

    vnviews Peon

    Messages:
    746
    Likes Received:
    36
    Best Answers:
    0
    Trophy Points:
    0
    #11
    You can't get PR by API, but by HTTP request.
    Here is php code I found somewhere
    
    <?php
    define('GOOGLE_MAGIC', 0xE6359A60);
    
    function zeroFill($a, $b){
     $z = hexdec(80000000);
      if ($z & $a){
       $a = ($a>>1);
       $a &= (~$z);
       $a |= 0x40000000;
       $a = ($a>>($b-1));
      }else{
       $a = ($a>>$b);
      }
    return $a;
    } 
     
    function mix($a,$b,$c) {
       $a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
       $b -= $c; $b -= $a; $b ^= ($a<<8);
       $c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
       $a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
       $b -= $c; $b -= $a; $b ^= ($a<<16);
       $c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
       $a -= $b; $a -= $c; $a ^= (zeroFill($c,3));
       $b -= $c; $b -= $a; $b ^= ($a<<10);
       $c -= $a; $c -= $b; $c ^= (zeroFill($b,15));
       return array($a,$b,$c);
    }
     
    function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
      if(is_null($length)) {
       $length = sizeof($url);
      }
      $a = $b = 0x9E3779B9;
      $c = $init;
      $k = 0;
      $len = $length;
      while($len >= 12) {
       $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
       $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
       $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
       $mix = mix($a,$b,$c);
       $a = $mix[0]; $b = $mix[1]; $c = $mix[2];
       $k += 12;
       $len -= 12;
      }
      $c += $length;
      switch($len){
       case 11: $c+=($url[$k+10]<<24);
       case 10: $c+=($url[$k+9]<<16);
       case 9 : $c+=($url[$k+8]<<8);
       /* the first byte of c is reserved for the length */
       case 8 : $b+=($url[$k+7]<<24);
       case 7 : $b+=($url[$k+6]<<16);
       case 6 : $b+=($url[$k+5]<<8);
       case 5 : $b+=($url[$k+4]);
       case 4 : $a+=($url[$k+3]<<24);
       case 3 : $a+=($url[$k+2]<<16);
       case 2 : $a+=($url[$k+1]<<8);
       case 1 : $a+=($url[$k+0]);
      }
      $mix = mix($a,$b,$c);
     /* report the result */
     return $mix[2];
    }
     
     //converts a string into an array of integers containing the numeric value of the char
     
     function strord($string) {
      for($i=0;$i<strlen($string);$i++) {
       $result[$i] = ord($string{$i});
      }
     return $result;
     }
     
     function get_pagerank($url){
      $ch = "6".GoogleCH(strord("info:" . $url));
    
      $pagerank = 0;
    
      $fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
      if (!$fp) {
         echo "$errstr ($errno)<br />\n";
      } else {
         $out = "GET /search?client=navclient-auto&ch=" . $ch .  "&features=Rank&q=info:" . $url . " HTTP/1.1\r\n" ;
         $out .= "Host: www.google.com\r\n" ;
         $out .= "Connection: Close\r\n\r\n" ; 
         fwrite($fp, $out);
         while (!feof($fp)) {
           $data = fgets($fp, 128);
           $pos = strpos($data, "Rank_");
             if($pos === false){
             }else{
               $pagerank = substr($data, $pos + 9);
    		if (substr($pagerank,0,2) == "10"){
    			$pagerank = "10";
    	     } else {
    			$pagerank = substr($pagerank,0,1);
    	     }
    	   }
         }
         fclose($fp);
      }
      return $pagerank;
    }
    ?>
    
    Code (markup):
    The function get_pagerank returns the PR of url.
    Hope it helps.
     
    vnviews, Jul 3, 2007 IP
  12. fatabbot

    fatabbot Well-Known Member

    Messages:
    559
    Likes Received:
    10
    Best Answers:
    0
    Trophy Points:
    138
    #12

    Cool, thanks!
     
    fatabbot, Jul 13, 2007 IP
  13. kumarg

    kumarg Active Member

    Messages:
    1,108
    Likes Received:
    9
    Best Answers:
    0
    Trophy Points:
    78
    #13
    nice to see such reply, definitely i ll check it.
     
    kumarg, Jul 14, 2007 IP
  14. stylistics

    stylistics Peon

    Messages:
    49
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #14
    Exactly how do I use this. Do I create a php page with this code in it and refer anotherpage to it somehow to obtain the information?

    PLEASE SOMEONE HELP!!!!!!!!!

    I have been trying to figure this out for a long time.
     
    stylistics, Jul 14, 2007 IP
  15. anjanesh

    anjanesh Well-Known Member

    Messages:
    343
    Likes Received:
    7
    Best Answers:
    0
    Trophy Points:
    165
    #15
    That infamous code used to work - doesnt anymore.
     
    anjanesh, Jul 17, 2007 IP
  16. websys

    websys Active Member

    Messages:
    841
    Likes Received:
    23
    Best Answers:
    0
    Trophy Points:
    78
    #16
    why dont you ask the siteowner of finqoo.com if he will sell you the script :)
     
    websys, Jul 19, 2007 IP
  17. domado16

    domado16 Active Member

    Messages:
    152
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    53
    #17
    Hi I can sell you a simple php function with the following syntax

    function GetPageRank($url)

    PM me if you're interested.
     
    domado16, Aug 7, 2007 IP
  18. daringtakers

    daringtakers Well-Known Member

    Messages:
    808
    Likes Received:
    23
    Best Answers:
    0
    Trophy Points:
    110
    #18
    I hav a script which can calculate PR.'
    I can give it free...

    PM me.
     
    daringtakers, Aug 20, 2007 IP
  19. RootShell

    RootShell Well-Known Member

    Messages:
    855
    Likes Received:
    18
    Best Answers:
    0
    Trophy Points:
    130
    Digital Goods:
    1
    #19
    The Php Code Is Working 100 % Thanks
     
    RootShell, Aug 20, 2007 IP
  20. anjanesh

    anjanesh Well-Known Member

    Messages:
    343
    Likes Received:
    7
    Best Answers:
    0
    Trophy Points:
    165
    #20
    RootShell - are you talking about the one fatabbot posted above ?
     
    anjanesh, Aug 21, 2007 IP