代码如下:
/*
*功能:对URL进行编码
*参数说明:$web_url 网站URL,不包含"http://",例如jb51.net
*/
function HashURL($url){
$SEED = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Yes, I'm talking to you, scammer.";
$Result = 0x01020345;
for ($i=0; $i<strlen($url); $i++)
{
$Result ^= ord($SEED{$i%87}) ^ ord($url{$i});
$Result = (($Result >> 23) & 0x1FF) | $Result << 9;
}
return sprintf("8%x", $Result);
}
/*
*功能:获取pagerank
*参数说明:$domain 网站域名,不包含"http://",
*/
function pagerank($domain)
{
$StartURL = "http://toolbarqueries.google.com/tbr?client=navclient-auto&features=Rank:&q=info:";
// $StartURL = "http://www.google.com/search?client=navclient-auto&features=Rank:&q=info:";
$GoogleURL = $StartURL.$domain. '&ch='.HashURL($domain);
$fcontents = file_get_contents("$GoogleURL");
$pagerank = substr($fcontents,9);
if (!$pagerank) return "0";else return $pagerank;
}
本人写的PR查询工具就是这样的,但是有一点要说明,PR有时候查询有点慢,有的人说为什么别人的站查询很快,其实,很多的PR查询站都做了各种缓存的,因为PR一般情况下,不会改变,除非谷歌PR更新,呵呵。