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

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

 

 

移动周报:GitHub章鱼猫中国之行 三星与LG的新动向:同样的物联网 ,不同的玩法 从Twitter到Tinder,看社交媒体在2013年的沉浮 一周消息树:有道周枫和他的“放养”团队、太极助手惹“非议” Netflix:使用大数据驱动商业决策 “中国杯”游戏极限开发大赛报道 回顾2013软件开发:JavaScript领风骚 京东“宙斯杯”创新应用大赛,百万奖金为“你”而等待 12306上的分布式内存数据技术GemFire Canalys:苹果、三星2014年仍统治平板市场 微软压力山大 Google和苹果的下一个战场 回顾2013科技界大事件:Mayer登Vouge杂志、Ballmer离职 《近匠》第03期:移动开发工具访谈,AVOS Cloud——后端的金刚钻 次世代视觉:Avegant Glyph智能眼镜技术解析 技术栈的选择:从Groupon转向Node.js、淘宝去IOE谈起 首席数据官:一个属于你的时代已经来临 盘点2013年Facebook七大最受欢迎的hack 见证中国开源的力量:“开源力量”2013年度庆典活动亮点汇总 专访APU13讲师、西电朱虎明:概念难以理解成异构编程最大阻力 盘点2013:21款最优秀的开源数据库 苹果三星再次谈判,欲和解所有侵权案 应对iOS in the Car,Google将携手奥迪推Android车载系统 10个技巧让你更轻松地使用AWS 《近匠》第04期:移动开发技术访谈,多看科技CTO王毅——阅读未来 2013年Linux领域重要事件回顾 2013年12月操作系统份额:Windows XP跌破30%大关 Linux小幅上涨 Snapchat存安全漏洞 460万用户信息被窃 年底广告高峰:AdMob团队支招“马上赚钱” 从远程调用框架认识Zookeeper 盘点Hadoop生态圈:13个让大象飞起来的开源工具 【开源推荐】Ejoy2D:“风魂”游戏引擎作者云风的又一力作 前段时间出差,最近有忙着考研,没时间上网,散分 确认页面问题。 AfxMessageBox话框标题问题 不是我重复,只是这个问题让我发疯,旦求解决这个问题,死而无怨 smtp认证发信的源代码 在DLL中如何知道自己父进程(ParentProcess)的路径和文件名? cview里的precreatewindow和cframewnd的precreatewindow应该调用那个? 如何在dw4中给已做好的FLASH动画加上超链接? 关于Jmail组件的问题! 袁飞请进! redhat linux下jbuilder安装问题!!!帮帮忙!! 怎样得到一天的起始时间,例如:今天是2001-11-1,则我希望得到:2001-11-1 00:00:00 求教CEditView 华硕P2B主板怎么装联想商博士6xxx的内猫,猫是好的,可插上后怎么也找不着,怎么办? CSDN的服务器太差劲了!老是结不了分的! 有没有第二种方法加入2000的域呢?(详见正文) 时钟的实现初始化问题?? 我今天买了一本,这本书如何? 那儿有perl for win32的开发资料下载的! 我想知道鼠标在COMBOBOX上移动时所处的选项,在LISTBOX上可以实现,在COMBOBOX上如何实现,它没有MOUSEMOVE事件。 请问怎样自动捕捉网格啊? 定义以下变量,并以赋确定的值:char w;int x;float y;double z;则表达式:w*x+z-y所求的值的数据类型是什么 为什么我的treeview 值都成了双份的呢??? 哪人在线观看的源代码?比如:CIH,I LOVE YOU 怎样自动捕捉网格啊? 本人就快作毕业设计了,想作个vc项目,大家给我点意见吧! 怎么把CByteArray型数组转换成char*型. 关于纯资源DLL的问题! 超难问题:如何将一个EXE转换成SWF? 关于PHP程序员工资待遇问题的讨论! 网页中嵌入ActiveX控件,遇到的问题。 问个比较简单的问题:关于ASP上传的 送分啦~~~~~~~用什么方法可以获得鼠标的移动到那里的句柄(包括窗体和环境),就向SPY++里面的findwindows一样的功能 关于vb数据库的问题,请教了!!!!! 1982.12.12,2001.12.12是19岁生日还是20岁生日? 寻找调查投票程序,66分 在printf格式字符串中,用于输出字符串的格式字符是什么? 哪里有这样的jsp程序 轻松一分钟,统计一下看流星雨的程序员们是单身还是成双成对? c语言程序的基本单位是什么? 是什么原因产生stop:0x0000001e故障的,有办法解决吗 如何虚拟键盘输入?急!!! 请问怎样才能将用户选择的行或列在打印预览窗口中? 如何获得所运行的进程列表 设i,j,k均为int形变量,执行下列语句:for(i=0,j=10;j<=j;i++,j--)k=i+j;则k的值是多少? 怎样把kv3000解密到一张软盘????? 是高手的进来赚点分(全给) delphi中如何定义过程与函数,请帮我各写一行带参数与不带参数的例子, 有谁用过EXPRESSO开发过JSP吗 如何在MTS对象中使用现有控件? 求救!!!WINNT 4.0下无法显示中文! 已知sin求cos怎么求如题 甲圆的半径是乙圆的4倍,甲圆的周长是乙圆的( )倍;甲圆的面积是乙圆面积的( )倍. 苯甲酸钠和山梨酸钾两个哪个当防腐剂更健康 Sin15度=cos多少度 甲、乙两个圆,甲圆的直径等于乙圆的半径.①写出甲、乙两圆的周长比.②写出乙圆和甲圆的面积比甲、乙两个圆,甲圆的直径等于乙圆的半径.①写出甲、乙两圆的周长比.②写出乙圆和甲圆的 什么酱油不含苯甲酸钠和山梨酸钾 甲圆的面积是乙圆的3分之1,甲乙两圆的周长比是多少 计算,sin75°*cos75°= 防腐剂,苯甲酸钠、山梨酸钾在我国还是被允许使用的是吗?不被允许使用的食品添加剂,防腐剂有哪些? cos75的平方+cos15的平方+cos75乘sin15的值 若甲圆的周长是乙圆半径的三分之一,大圆的面积是763.02平方厘米,小圆的面积是多少平方厘米? 学校开联欢会 买了水果糖9千克 买的奶糖是水果糖的三分之二 又是酥糖的四分之五 学校买了酥糖多少千克 ?为什么除以四分之五 那块不明白 求讲解 如果解cos平方75+cos平方15+cos75*cos15 sin15° 学校开联欢会,买了酥糖12千克,买的水果糖是酥糖的四分之三 ,是奶糖的12 ,买了奶糖多少千克? 一个圆的周长缩小为原来的2分之1,它的直径和半径也缩小为原来的几分之几 sin15度cos165度的值是? 学校开联欢会,买了酥糖12千克,买的水果糖是酥糖的四分之三 ,是奶糖的二分之一 ,买了奶糖多少千克? 把一个直径是30厘米的圆缩小到原来的3分之1缩小后圆的周长是多少厘米,接着把缩小后的圆扩大到原来的2倍扩大后周长是多少厘米 求sin15°+cos165°的值 甲圆的半径等于乙圆的直径,甲圆的周长是乙圆的( ),乙圆的面积是甲圆的( ). 圆的直径缩小到原来的1/10,圆的周长也缩小到原来的1/10是判断题,对得打√,错的打× sin15°*cos165°= 求解答 甲圆的半径等于乙圆的直径,甲圆的周长是乙圆的[ ].乙圆的面积是家甲圆的【 】 12000等于多少公顷 有一批糖果,每袋装二分之有一千克,装4袋后,才装完这批糖果的五分之四,问这批糖果共有多少千克 甲圆的半径是乙圆的3倍,甲圆的周长是乙圆的______,甲圆的面积是乙圆的______. 12000立方米等于多少公顷 现在有相同只数的大袋和小袋装248千克的苹果已知每只小袋装1千克每只大袋装苹果的重量比小袋的2倍多1千克它们各有几袋 甲圆的半径是乙圆的4倍,甲圆的周长是乙圆的[ ]倍,甲圆的面积是乙圆的[ ]倍. 12000平方米=多少公顷? 为什么9^9/9^99=1/9^90它是如何约分的?约分的原理是什么? 向某0.5mol/L的ALCL3溶液100ml中加入一定量的1mol/L的NaOH溶液,得到3.12g沉淀.问:加入的NaOH溶液可能是多少毫升? 5g 盐放入20g 水中,盐占盐水的(). 一个圆的周长是75.36厘米,这个圆的面积是( )平方厘米? 90分之81约分是多少,怎么约分 把5g食盐倒入20g水中,这份盐水的含盐率是25%. 一堆马铃薯6025千克,已经装了40袋,每袋装85千克,剩下的平均每袋装87千克,还要装多少袋? 向10毫升1mol/l的Al2(SO4)3溶液中加入1mol/l的NaOh溶液求:(1)当沉淀的量达到最多时加入的NaOh溶液的体积 (2)当沉淀恰好完全溶解时加入的NaOh溶液的体积 12000平方米等于多少公顷 一千克的蛋糕白砂糖要0.25千克,一千克的蛋糕鸡蛋要0.4千克, 向20mL 1mol/L Al2(SO4)3溶液中,加30mL NaOH溶液(1)反应中生成沉淀质量的最大值可能为多少?(2)充分反应后,得0.78g沉淀,求NaOH溶液的物质的量浓度可能是多少少? 是实验室需要0.1mol每升的氢氧化钠溶液100mL,现有2MOL每升氢氧化钠溶液. 计算所需2M是实验室需要0.1mol每升的氢氧化钠溶液100mL,现有2MOL每升氢氧化钠溶液.计算所需2MOL每升氢氧化钠的体积.(2) 一个鸡蛋多少千克,又是多少克,多少个几鸡蛋一千克谢谢了, 甲乙两个圆,甲圆的周长是9.42米,乙圆的面积是94.2平方米,甲圆与乙圆的半径之比是()两个圆周长的比是5:8,直径比是()半径比是()面积比是()?半圆的半径是d,周长是()面积是()?用 计算:cos15°sin15°=? 用分部积分法, 今有0.1mol/L的Na2SO4溶液300mL,0.1mol/LMgSO4溶液200mL和0.1mol/L Al2(SO4)3溶液100mL.这三种溶液;硫酸根离子浓度之比是多少?问题很长,百度不让发.问题就在这里了要详细的解答步骤哦我们很多同学都算成3 包装工人一共要帮装240千克水果糖,每袋包装四分之一,已经装完了四分之三,已经装完了多少袋 我是一名高中生,每天为了方便,在铁饭盒里放保鲜袋,就是那种透明的,仔细看还有许多小孔的,然后去打热饭菜,知道塑料受热分解会释放致癌物质,长期这样做好吗? sin75度= 一共有240千克水果糖,每袋装四分之一千克,才装完了总量的四分之三,已经装完了多少袋? 一共有240千克水果糖,每袋装4分之1千克,4位工人用了3小时装了4分之3,他们已经装完了多少袋? 求解答316分之88约分和36,28的最小公倍数 一共有280千克的水果糖,每袋装四分之一千克,已经装完了这些糖果的四分之三,已经装完了几袋 sin75的理论计算值写出计算过程 人一天需要摄入脂肪、碳水化合物、蛋白质各多少g 如果要减肥的话,脂肪、碳水化合物和蛋白质的摄入不能低于多少g 一共有240千克水果糖,每袋装四分之一千克.可以装多少袋?如果只装了四分之三,你知道装完了多少袋吗? 甲圆的半径是乙圆半径的3分之2,甲圆和乙圆的周长比是多少?乙圆的面积和甲圆的面积比是多少? 苯甲酸钠和山梨酸钾能混用吗?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn