说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

PHP获取Google PR值

HTML文档下载 WORD文档下载 PDF文档下载
这是获取Google PR值的PHP实现版本,经过测试运行正常。

下载源代码

 

这是获取Google PR值的PHP实现版本,经过测试运行正常。将下面代码保存为googlepr.php则读取www.okbase.net网站的PR值调用格式为:

googlepr.php?url=www.okbase.net

 

代码如下:

 

<?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';//字符串转换到32位整数function 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;}//将URL进行哈希编码function 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);}//为哈希字符串生成校验码function 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;}//返回pagerank哈希校验码function getch($url) { return CheckHash(HashURL($url)); }//返回PR值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);	}}//生成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']); }?>

 

 

新细节披露:通过电信合作 美国75%网络遭NSA监控 实时Bug检测工具Bugsnag发布API更新 【观察】一大三小:亚马逊,微软、谷歌、IBM ,IaaS四足鼎立 “化云为雨”一小滴:北京,3G手机+蓝牙打印机实现智能抄表 金山云与蓝汛联合提供云基础设施服务 MongoDB出新招,增加对Hive的支持 编程语言收入榜 Java排第三 直接拿来用!10段超有用的Git命令行代码 Google Cast SDK正式版发布:自动适配,修复Bug 频受红杉资本青睐,商业智能初创公司Birst靠的是什么? 2013百度世界大会要点精华回顾 WebApp开发框架Clouda、轻应用... 对新手有用的JavaScript开发小建议 磨剑三载,且看从容应对14.3万TPS的Twitter是怎样炼成的! 兰亭集势:被高估的“长尾式采购” 谁说WP手机不行?微软称已成拉丁美洲第二大移动平台 Windows 8之父Steven Sinofsky加盟风投机构A16Z SDCC 2013演讲议题抢先看 腾讯、阿里、支付宝、网易…… [开源推荐]Google开源基于Deep Learning的word2vec工具 【开源专访】DWZ团队:致力打造最简单的Web前端开发方式 Linux黑客车库创业:服务器操作系统CoreOS颠覆互联网 时间序列数据处理的角逐:MongoDB vs. Cassandra 移动周报:Sphinx游戏引擎的前世今生 联想K900评测:英特尔X86兼容性明显提升(组图) 小米手机-HAXLR8on硬件黑客马拉松:32小时的创客狂欢 鲍尔默宣布下台后,微软应该做好这几件事情 IGT张奇伟:从空间物理到博彩游戏研发 Bing即将推出新功能 用户可直接在搜索结果页购买商品 【开源专访】郑晔谈Moco框架的前世今生以及Java编程之道 CTO俱乐部第108期下午茶:电商在微信上的现状与未来 SDCC 2013讲师议题确定 门票即将售罄(图) 简化工作流程,10款必备的HTML5开发工具 给分王,我要功成隐退了 关于fdisk的使用出现意想不到的问题!!!!! 在公司做好的本地程序,和数据库,如何上传 有缘人,送分人,功成身退 誰有Java的在線网絡游戲,就象263,yahoo上那樣的. error C2664是怎么回事?十万火急!!! 我的编译器总出 LINK : fatal error LNK1104: cannot open file "Debug/Typer.exe" 是什么原因? 送分喽 vb中的问题!!!急 请问:fastreport的自定义变量如何与delphi变量进行互相传递!!! 请问各位高手关于局域网共享上网的设置问题。 basic 的数据结构问题 asp与xml 百分求维护经验 初级问题 求救:如何用fileup组件将一个文件同时存到两台机子的硬盘上! 有关netmeeting、AVPhone或其它做视频会议相关控件的使用方法。 a question about String Type!Please help me! 关于%include的问题。高分 vb如何访问sql-server。 有用SDK编写的象“我的电脑”那样的程序吗? 请教:如何绘制成绩分析的正态分布曲线? bean里删除文件? 请问关于响应事件的问题?? 请问怎样用在Active DLL中调用ASP的response对象? 请介绍几本关于vb的书,不是入门的书,有没有向<delphi5开发人员指南》这样的书???? dos下编程,如何获得文件创建时间? 如何判断存储过程执行成功结束?(50分相送) 谁行行好吧,小弟谢过了!(sql的cd key) 请教现在是应该学习VB6还是VB.NET? 关于在mfc中自定义类的一个问题 请教现在是应该学习VB6还是VB.NET? 谁有在VB中开发DirectX的教程,请推荐下载地址. zrong(zr) TommyTong(童童) GreenWaterBlueSky(我的家在碧水蓝天) 进来看一看可以吗? 谁行行好吧,小弟谢过了!(sql的cd key) 这里是个关于Iczelion的win32的汇编教程中的一个问题,请各位指点! 请问如何让VB。NET编译的。EXE文件在没有装有。NET架构的系统上运行? 大白鲨:计算机软件专业到低学那些课程 窗口的最小化和最大化事件是什么? 怎样实现在主窗体显示后,出现登录窗口?? 三层结构系统的问题! 存储过程问题 如何从Select的结果中再查询数据? 求助:此书<<windows me程序设计手册>>附带光盘的源代码---作者台湾,位元文化 大白鲨:程序员的爱情问题 form1.WebBrowser1.Navigate('www.zz.ha.cn');showmessage('下载完成');总错误 提问:关于报时程序 如何用图像来显示一个灰度值矩阵? 终于下载完了77M的,高兴,爽! 树型控件中,我在itmexpanding 事件中写了代码,第一次展开树正常,但以后每展开一次,数据内容就会在原内容基础上增加,书上说必须清除 tab控件中的按钮怎样关闭对话框? 1 一个圆锤形零件 底面半径是3厘米 高是5厘米 将他浸没在一个圆柱体的玻璃缸中 上升了三米 这个玻璃钢的底面积是多少平方厘米2 一辆货车箱是一个长方体 他的长4米 宽1.5米 高是4米 装满 《最后一头战象》中嘎羧的内心感受要以“我”为主人公.[注:我为嘎羧] 最后一头战象 my father ,my friend英语作文大学英语作文- -,我英语挺差的,明天回学校了,其实不一定是my father ,my friend为题,要求是my father,my 不会的就不要回复了.轻轻的飘过即可~ 吾江南人斩竹而薪之 翻译 孟子和荀子都是战国人物,为什么他们会有不同的观点?孟子处于战国早期,荀子处于战国末期,他们的时代环境是相似的,但孟子提出了人性本善的政治观点,荀子提出了人性本恶的观点,这是为什 最后一头战象:嘎羧给你留下什么印象? 任光禄竹溪记里的吾江南人斩竹而薪之是什么意思? 荀子、孟子和孔子的思想有何异同?请各用一个名句来概括他们的突出特点. 最后一头战象小练笔:嘎羧在河畔回忆什么文章----------小练笔 Can you see —— No,let’s go and have a look .Maybe we can help them.what are they doing there 我想知道为什么不倒装?为什么不选 what is going on there 说错了,不是不倒装,是为什么不调换语序?后面那个不用解 孔子和孟子 荀子 有什么不同? 《最后一头战象》《词语手册》作业答案kuai. 英语翻译My Father My father is a kind man.He is not very tall but he is a man of perseverance.He works very hard and his services are highly appreciated.My father is a man of devotion.Every morning he gets up the earliest to make breakfast for us 用‘my father past life'写一篇初一的英语作文 求《最后一头战象》的好词好句越多越好不是课本上的,好词好句都要有啊,好段也行!快! I felt ( ) when I fell down on the playground.这里的空格答案里是painful,我想问的是,填pain行不行?我知道feel后面跟的是形容词,但课本里有一句话是 If you felt some pain,you'd stop running.为什么这里feel后面跟 my father is day 英语作文 字母都代表什么?比如V=?要全面 35.There are quite a few ______ in the hospital.A) man nurses B) men nurses C) men nurse D) man nurse 六级财富值是多少? 孔子云:何陋之有 翻译 一道初三英语题,希望有讲解谢谢,急在线等As we all know, wood and stones ______ bridges in the past.A) used to build B) used to building C) were used to build D) were used to building 需要多少财富值才能升到六级. 孔子云:何陋之有,怎么翻译 Jim found nobody in the classroom —— A.did heB.did Jim 我知道选A,但我想知道为什么不选B.这种从句不是应该看主句吗? 财富值是多少时是六级 英语翻译1子曰:“吾十有五而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲,不逾矩.2温故而知新,可以为师矣.3学而不思则罔,死而不学则殆.4知之者不如好之者,好之 《最后一头战象》里的战象,在死做了什么事《最后一头战象》里的战象,在它死之前,做了什么事,请问下,3Q 百度知道六级财富值是多少? 用“简单”造两个句子,体现词语不同的意思答得好我再加高分 《最后一头战象》 嘎羧死前做了那些事 在现代市场经济体制中,政府越来越多的运用税收,利率等经济杠杆调节经济运行,经济杠杆能起到调节作用原因答案是直接关系着市场主体利益, "简单"一词有两种意思,用"简单"造两个句,要分别表达不同的意思. 最后一头战象讲了一件什么事? 利率是一国政府调控宏观经济的重要杠杆.变动利率对经济的影响的一般规律( )a.提高利率,储蓄减少.b.降低利率,投资会减少.c.提高利率,会抑制通货膨胀.d.降低利率,消费会减少.我选C.Ps:请 用“简单”造两个意思不同的句子要两个意思不同的句子哦! 请问《最后一头战象》中的象死前有何感想?作文 兼济天下和独善其身的意思不要达则兼济天下,穷则独善其身的解释.单独的解释, 用两个意思不同的“简单”分别造一个句子 最后一头战象嘎羧死前看到了什么?想到了什么? 兼济天下、独善其身的意思兼济天下、独善其身两个词语的含义,最好是自己的理解,只要词语的意思!不要什么“穷则”,“达则”,而且要是褒义 杠杆的作用是什么? 利率是如何作用的作用?请从宏观角度回答 独善其身 杠杆 的用途?什么是杠杆?杠杆的作用? 杠杆的作用是什么? 百度知道财富值多少才升到五级?六级?七级?八级?九级?最高到什么境界? 《最后一头战象》嘎羧告别村寨,屹立在江边回想往事,选择其中一个场景,想象嘎羧的内心感受,并写下来.200字 作者写《最后一头战象》当时的时代背景 有一列数,这样排列;1,22,333,4444,55555,666666,7777777······第二百个数是什么?讲得清楚点说错了,是1,3······ 数学应用题 赏20分财富值一筐苹果连筐共重50kg,卖出一半苹果后,剩下的连筐一共重28kg,求筐内原来共有多少千克苹果? 《最后一头战象》课后小练笔嘎羧内心的感受怎么写啊? 最后一头战象表达了作者怎样的感情请勿说一大堆。 先到先得 键入“你很帅”即可. 【急用!】《最后一头战象》小练笔,嘎羧告别村寨的场景和嘎羧的内心感受. 最后一头战象作者所表达的情感?急. 先到先得. 关于《最后一头战象》嘎羧告别村寨时场景的内心感受具体一点! 最后一头战象的简介
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘