[advanced search]
 

Go Back   NamePros.com > Discussion > Web Design & Development > Programming

Programming PHP, Perl, Ruby on Rails, AJAX, HTML, XHTML, CSS, JavaScript, MySQL and any other coding topics.


Closed Thread
 
LinkBack Thread Tools
Old 07-22-2008, 02:30 AM   #1 (permalink)
NamePros Regular
 
Join Date: Aug 2006
Posts: 287
0.15 NP$ (Donate)

jakeruston will become famous soon enoughjakeruston will become famous soon enough


Get PR + Pages Indexed?

Hi,

In my PHP script, I need a way to get the Google PageRank and the number of Pages Indexed on any URL via function. The ones I've found on Google don't seem to work.

Does anyone have any ideas?
jakeruston is offline  
Old 07-22-2008, 03:12 AM   #2 (permalink)
i love automation
 
xrvel's Avatar
 
Join Date: Nov 2007
Posts: 1,409
987.78 NP$ (Donate)

xrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud of


Smile

You can download free PHP LD and check the pagerank module.
Or you can get PageRank script on PHPClasses.org. You can get number of indexed page script on PHPClasses.org too.
xrvel is offline  
Old 07-22-2008, 04:19 AM   #3 (permalink)
NamePros Regular
 
Join Date: Aug 2006
Posts: 287
0.15 NP$ (Donate)

jakeruston will become famous soon enoughjakeruston will become famous soon enough


Right I've worked out how to do the PageRank, but I'm having problems with Indexed Pages.

I can get the number with this code:

function yahoo_indexed($uri) {
$yahooAppId1 = "MY ID";
$yahoourl="http://search.yahooapis.com/SiteExplorerService/V1/inlinkData?appid=".$appid."&query=".$uri."&start=1 &domain_only=1&results=1&output=php";
$data = @file_get_contents($yahoourl);
$results=unserialize($data);
return $results['ResultSet']['totalResultsAvailable']; //$results[0][1];
}

It returns the result but it doesn't seem to let me work with the number to add it to other numbers and such.
jakeruston is offline  
Old 07-22-2008, 08:46 PM   #4 (permalink)
i love automation
 
xrvel's Avatar
 
Join Date: Nov 2007
Posts: 1,409
987.78 NP$ (Donate)

xrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud ofxrvel has much to be proud of


Smile

If "indexed page" is equal with "backlink" (im not sure ), here's the class : (together with PR class, i got it from PHPClasses,org)

"function.class.php"
PHP Code:
<?php
class functions {
    function
to_int_32 (&$x) {
        
$z = hexdec(80000000);
        
$y = (int) $x;
        if(
$y ==- $z && $x <- $z){
        
$y = (int) ((-1) * $x);
        
$y = (-1) * $y;
        }
        
$x = $y;
    }  
    function
zero_fill ($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; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c,13)));
        
$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a<<8));
        
$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b,13)));
        
$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c,12)));
        
$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a<<16));
        
$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b,5)));
        
$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c,3)));
        
$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a<<10));
        
$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b,15)));
        return array(
$a,$b,$c);
    }
        function
checksum ($url, $length = null, $init = 0xE6359A60) {
            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 = $this->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);
                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 = $this->mix($a, $b, $c);
            return
$mix[2];
        }
        function
strord($string) {
            for(
$i = 0; $i < strlen($string); $i++) {
                
$result[$i] = ord($string{$i});
            }
            return
$result;
        }
        
//
        //
        //
        
function format_number ($number='', $divchar = ',', $divat = 3) {
            
$decimals = '';
            
$formatted = '';
            if (
strstr($number, '.')) {
                
$pieces = explode('.', $number);
                
$number = $pieces[0];
                
$decimals = '.' . $pieces[1];
            } else {
                
$number = (string) $number;
            }
            if (
strlen($number) <= $divat)
                return
$number;
                
$j = 0;
            for (
$i = strlen($number) - 1; $i >= 0; $i--) {
                if (
$j == $divat) {
                    
$formatted = $divchar . $formatted;
                    
$j = 0;
                }
                
$formatted = $number[$i] . $formatted;
                
$j++;
            }
            return
$formatted . $decimals;
        }
    }
?>
"rank.class.php"
PHP Code:
<?php
require_once(dirname(__FILE__).'/functions.class.php');

class
rank extends functions {
    var
$url;
    var
$pagerank;
    var
$alexa_rank;
    var
$backlinks = array('google' => '', 'yahoo' => '', 'msn' => '', 'altavista' => '', 'alltheweb' => '');
    var
$dmoz;

    
#start
    
function rank ($url) {
        
$this->url = $url;
        
$this->url = preg_replace('/http\:\/\//si', '', $this->url);
        
$this->pagerank = $this->__pagerank();
        
$this->alexa_rank = $this->__alexa_rank();
        
$this->backlinks['google'] = $this->__backlinks('google');
        
$this->backlinks['yahoo'] = $this->__backlinks('yahoo');
        
$this->backlinks['msn'] = $this->__backlinks('msn');
        
$this->backlinks['altavista'] = $this->__backlinks('altavista');
        
$this->backlinks['alltheweb'] = $this->__backlinks('alltheweb');
    }
    
    
#pagerank
    
function __pagerank () {
        
$url = 'info:' . urldecode($this->url);
        
$checksum = $this->checksum($this->strord($url));
        
$url = 'http://www.google.com/search?client=navclient-auto&ch=6' . $checksum . '&features=Rank&q=' . $url;
        
$v = $this->my_curl_crawl($url);
        
preg_match('/Rank_([0-9]+):([0-9]+):([0-9]+)/si', $v, $r);
        return (
$r[3]) ? $r[3] : '0';
    }
    
    
#alexa_rank
    
function __alexa_rank () {
        
$url = 'http://data.alexa.com/data?cli=10&dat=snbamz&url=' . urlencode($this->url);
        
$v = $this->my_curl_crawl($url);
        
preg_match('/\<popularity url\="(.*?)" TEXT\="([0-9]+)"\/\>/si', $v, $r);
        return (
$r[2]) ? $r[2] : '0';
    }
    
    
#backlinks
    
function __backlinks ($engine) {
        switch (
$engine) {
            
#google
            
case 'google':
                
$url = 'http://www.google.com/search?q=link%3A' . urlencode($this->url);
                
$v = $this->my_curl_crawl($url);
                
preg_match('/of about \<b\>([0-9\,]+)\<\/b\>/si', $v, $r);
                return (
$r[1]) ? str_replace(',', '', $r[1]) : '0';
            break;
            
#yahoo
            
case 'yahoo':
                
$url = 'http://search.yahoo.com/search?p=links%3A' . urlencode($this->url);
                
$v = $this->my_curl_crawl($url);
                
preg_match('/of about ([0-9\,]+)/si', $v, $r);
                return (
$r[1]) ? str_replace(',', '', $r[1]) : '0';
            break;
            
#msn
            
case 'msn':
                
$url = 'http://search.msn.com/results.aspx?q=link%3A' . urlencode($this->url);
                
$v = $this->my_curl_crawl($url);
                
preg_match('/of ([0-9\,]+) results/si', $v, $r);
                return (
$r[1]) ? str_replace(',', '', $r[1]) : '0';
            break;
            
#altavista
            
case 'altavista':
                
$url = 'http://www.altavista.com/web/results?q=link%3A' . urlencode($this->url);
                
$v = $this->my_curl_crawl($url);
                
preg_match('/found ([0-9\,]+) results/si', $v, $r);
                return (
$r[1]) ? str_replace(',', '', $r[1]) : '0';
            break;
            
#alltheweb
            
case 'alltheweb':
                
$url = 'http://www.alltheweb.com/search?q=link%3A' . urlencode($this->url);
                
$v = $this->my_curl_crawl($url);
                
preg_match('/\<span class\="ofSoMany"\>([0-9\,]+)\<\/span\>/si', $v, $r);
                return (
$r[1]) ? str_replace(',', '', $r[1]) : '0';
            break;
        }
    }

    function
my_curl_crawl($url) {
        
$ch = curl_init();
        
curl_setopt($ch, CURLOPT_URL, $url);
        
curl_setopt($ch, CURLOPT_HEADER, 0);
        
curl_setopt($ch, CURLOPT_REFERER, $url);
        
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
        
curl_setopt($ch, CURLOPT_VERBOSE, 0);
        
$content = curl_exec($ch);
        
curl_close($ch);
        return(
$content);
    }
}
?>
Usage :
PHP Code:
<?php
require_once('rank.class.php');
$rank = new rank('www.example.com');

echo(
$rank->pagerank);

print_r($rank->backlinks);
?>
xrvel is offline  
Closed Thread


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Site Sponsors
Advertise your business at NamePros

All times are GMT -7. The time now is 02:26 PM.


Powered by: vBulletin® Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
Template-Modifications by TMS
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios

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