最新用php获取谷歌PR值算法,附上php查询PR值代码示例

yipeiwu_com5年前PHP代码库
复制代码 代码如下:

/*
*功能:对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更新,呵呵。

相关文章

php中将一段数据存到一个txt文件中并显示其内容

这里的数据可以为基本数据类型,数组,对象等; 在存储的时候可以用serialize进行序列化,但取的时候要先用unserialize反序列化。 <?php $dat...

PHP set_time_limit(0)长连接的实现分析

每个PHP脚本都限制了执行时间,所以我们需要通过 set_time_limit 来设置一个脚本的执行时间为无限长;然后使用 flush() 和 ob_flush() 来清除服务器缓冲区,...

php获取文件类型和文件信息的方法

本文实例讲述了php获取文件类型和文件信息的方法。分享给大家供大家参考。具体实现方法如下: <?php $file = "php.txt"; //打开文件,r表示以只读...

sqlyog 中文乱码问题的设置方法

1.在SQLyog下输入下面代码,全部执行 SET character_set_client = utf8; SET character_set_results = gb2312; SE...

php中cookie实现二级域名可访问操作的方法

本文实例讲述了php中cookie实现二级域名可访问操作的方法。分享给大家供大家参考。具体方法如下: cookie在一些应用中很常用,假设我有一个多级域名要求可以同时访问主域名绑定的co...