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

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']); }?>

 

 

对比MySQL,你究竟在什么时候更需要MongoDB 不以“大小”论英雄,对比IBM、AWS,谁才是Hadoop界的MVP? 参加“我们都用JIRA”视频征集大赛 赢取乐视TV超级电视 开发者下一个待开发市场:印度 一周消息树:80%开发者背井离乡,70%经常加班 移动周报:最受欢迎的跨平台开发工具推荐 研发周报:Mt.Gox破产,都是错误编程惹的祸 数据挖掘+人工智能,教育定制化下的学霸量产 通过700合作伙伴的进一步细分,Google变得越来越像微软 一周热点:高薪必备:Hadoop求职者的6大攻略 谷歌Android主管:两周内为开发者推出可穿戴设备SDK 【OSTC讲师专访】魏子钧: “中国式开源”没有“然后” 揭秘CarPlay欲将颠覆汽车产业的真相 联想王岳源:利用Web App推动互联网转型 IT经理人:提高团队工作效率的11个方法 30美元一小时,数据科学家的收入是否太低? 选择Go语言的12个理由 动鱼数码携三款大作参战Unity游戏及应用大赛 从Google、Apple、Dropbox、Twitter和Square学到的管理哲学 软件开发就像炒股,关键看你怎么选股票! iOS 7.1正式版:新增CarPlay连接功能、完美支持iPhone 4 【OSTC讲师专访】马全一:Docker,Hadoop的竞争者来了! 福布斯:全球那些富可敌国的科技大佬们 抢工作、争资源,如此聪明的AI你拿什么阻止? iUI:移动Web应用开发必备的开源框架 支持iOS 7.1!苹果发布Xcode 5.1更新 视频云将成为2014年乐视新的发力点 3月12日:万维网迎来理念诞生25周年 《近匠》云适配CEO陈本峰:跨屏移动,曲线一样救国 Intel陈荣坤:赢取移动市场的几个先决条件 而立之年,开发者在害怕什么? 简单的application高手赐教!小妹急啊,谢谢! net 关于程序接口问题,请高手指教!!! 高手帮忙 我在SQL2000中有个字段类型是SMALLDATE,与CEDIT控件联结后,类型是CTIME,但显示不出? 我该怎么学? 怎样让我的程序运行时,始终在最前面 散分!!!回到CSDN!! 经常在运行屏幕保护时VC6.0 就出现了运行错误 嘻嘻~`问同学借了一台数码相机回家,自已拍了几张房间里的照片.大家有兴趣的就去吧!小A房间大暴光 请众位大侠,能不能强烈的推荐一本关于Delphi入门级的经典著作!谢谢了!推荐者必有分 请教! 关于Win32下的字符串操作 菜鸟提问,估计大家都会,指点一下 为什么我用ie的时候,新打开一个页面,他的还原形式的大小总是最小化的? var oXL = new ActiveXObject("Excel.Application")这句话有什么问题? 高分求算法 如何根据IP来得的到对方的操作系统类型 怎么这么老套,大家想想办法啊! 我要学DirectX了,请大家帮忙找一些这方面的资料。 关于出错信息的问题,多谢指教! Csdn,为什么你现在不忙了! asp.net的优点到底在哪里 大家能否推荐几本无线应用方面的书(如:短信编程、WAP编程), 谢了! 最基本问题 哪位写过控制摄像头的例子, 如何使用XP的远程桌面管理?远程控制. float 5.29 显示出来会是什么? 要不要学c++ 不能保存文件了,怎么回事? CString的一个问 在vs,net中创建用户控件和组件有什么区别? Lotus Notes and Domino与LOTUS 1-2-3有什么差别? 问路 JBuilder中类找不到 Montaque,看到后请进,问题有点菜,但希望你尽快回答! 大家帮帮我啊谢谢 private的意义是什么呢? 这是怎么回事啊,经常遇到的问题 请问windows编程和windows网络编程哪种编译器最好 新手提问--初装redhat7.2问题多多 请问如何在iis中提供证书认证?急! ASP.NET能不能用记事本写?! ??如何获得在DataGrid控件中选中一条纪录的消息?? 在win2000上调试好的程序,为什么到了xp的iis下面关于access数据库写入的页就打不开了? 不通过键盘,不通过初始化,不用SetWindowText(),如何向一个编辑控制加字符串 maya里的动画如何渲染? 数据库中的超键是什么意思? 组件如何发布? 一个小问题(请斑竹不要删) 菜鸟提问:怎样才能在编程中把一个数据库生成一个HTML文件! 二次函数y=x^2+ax+b在[0,2]上有最小值-1/4,最大值2,若-4 人口过快增长会给国家造成哪些压力?人类的哪些活动会导致水污染?如题 many,much的最新反义词是什么much 不是 little many 不是few除了这个还有什么 已知二次函数y=x^2+ax+a-2,求出函数的最大值或最小值 用一般现在时介绍你和家人是怎样度过春节的(英语)急,急,急 各位精通英语的哥哥姐姐们, 弟子规圣人训什么意思急用帮帮忙 苏菲的世界 给苏菲写信的哲学家是谁,为什么要给苏菲写信啊 春节用英语对家人说的一句话 弟子规是儒家的吗?它的里面有一句:圣人训:的圣人指谁?又有什么关系呢? 《苏菲的世界》里面,给苏菲上哲学课程的人是谁? 弟子规总序的第一章是从哪到哪啊 弟子规,圣人训,下一句是什么 疒字头一个亥怎么读 译成英文(初一水平)急!(1)你妈妈在家吗?在.她在干什么?她在看电视.她每天看电视?是的.(2)你在干什么?我在做作业.不,他在做卡片.(3)Jane在哪里?她在体育馆.她在跳舞吗?是的.莉莉也 第六题, 木字旁加尼读啥 苏菲主义与中国玄学有共同之处吗? 第六题 上面一个四字头下,面一个干字头 怎么读 把汉语译成英语(初一水平)1.那些是谁的玩具汽车? 是我的.2.我的裤子是蓝色的.3.他的上衣是蓝白相间的.4.她经常帮助我打扫我的房间.5.莉莉正在帮他妈妈做饭.6.你喜欢英语吗? 是的,我 弟子规内容 一个疒字头加一个累读啥,啥意思 帮忙把这些中文译成英语(初一水平)1.你的各个想要多少牛奶?2.这个运动包的价格是多少?3.你有新T恤衫吗?4.请过来看看我的新毛衣吧?5.这家鞋店卖各种各样的鞋子.(提示:sell,all kinds of )6.我们 第6题, 若曲线x²+y²+2x-4y+1=0上的任意一点关于直线2ax-by+2=0(a,b∈R+)的对称点仍在曲线上,则1/a+1/b的最小值为多少 "农历正月十一晚"译成英文 弟子规谁有 为创建良好的班集体我们应该怎么做 f(x)=x^3,求导数f(a)的值(要有过程 2012年世界末日电影?2012年世界末日电影 哪里可以看?不要预告片 baby I want you no matter what happens be to 力量怎么造句 much的反义词 作文 我们一起成长写人和事的 用能问能力造句!用能文能理造句,刚才写错了 very much 反义词 "把方框里的话背下来"英语怎么说 too much的反义词?太少?有too little这种表达吗?顺便帮我讲一下little、less、much的用法吧~ 英语翻译诸葛亮:(喝水) 关羽:(拎着大包小包上,小声的敲门) [配音:小声的敲门声:咚咚咚…… 诸葛亮:(没有听见) 关羽:(大声一点敲门) [配音:大声一点的声音:咣咣咣… 写父母对我的爱的作文一篇 和家长的对话写—遍150多字的作文. 我想选择一条属于自己的路,但又怕被其禁固在这一点上,我应该怎样树立自己的人生路?什么又是必然中的偶然? 这个英国男孩姓格林名叫汤姆英语怎么写?这个英国男孩姓格林英语怎么说我的意思是整句话的意思 弟子规多少为一则 一个人应该怎样选择自己的人生路? 请问广大网友哲学里的"范畴"是什么意思?在哲学里"范畴"这个词常常出现,但我就是不知道它的确切涵义,望广大网友帮帮我. 弟子规里面的一个问题弟子规 圣人训 首孝悌 次谨信泛爱众 而亲仁 有余力 则学文出 则 悌为什么经常有人把这个悌打成弟字?仅仅是因为打错了? 求以正月初一为题的英语小作文70字 什么是哲学范畴 全国大学英语四级评分标准 各个题几分 正月初一的早饭 用英语怎么说? 英语四级的每大题分值是多少 09年英语四级的评分标准是怎样的啊?09年英语四级的评分标准,就是每道题的每个小题多少分. 请问2014正月初一用古文怎么表达 请写出四种会导致水污染的人类活动 CET4的每道题目的评分标准是怎样的? 求二次函数y=x+ax+3在0≤x≤1上的最大值和最小值 大学英语四级的每大题的分值各是多少每题的具体分值 求高手写以家长的角度写一篇作文主要内容是孩子入学考试时成绩中等、通过老师、 、 、 、的栽培在第一次月考中取得优异成绩、表示感谢、对学校高效课堂的学习方式表示赞赏.再在结尾
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘