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

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

 

 

Windows Phone 8迎来Update3更新:支持更大屏幕 更多磁贴 AMD院士站台 异构计算与OpenCL编程师资培训首站清华开讲 Twitter、Square开创者Jack Dorsey的奇趣人生 利用CSS、JavaScript及Ajax实现图片预加载的三大方法 经典电影里的数学 15亿美元!软银联合GungHo收购手游巨头Supercell Oracle“炮轰”开源:称其永远无法在军事领域取得一席之地 零客户端:下一代计算分布模型 苹果聘奢侈品公司巴宝莉CEO Angela Ahrendts为零售主管 看看你会几个?9大最火的移动开发技能 为了进一步拴住用户:传亚马逊与HTC合作开发智能手机 三年?又三年!今年MDCC2013大不相同! 杨远骋:聚美优品与百度云推送的故事 糗事百科王坚:百度云推送让我们省心 10个最热JavaScript开源框架的社区活跃度对比 2013福布斯中国富豪榜:李彦宏第三、马化腾第五、马云第八 Storm又获东风,Hortonworks计划将其整合到Hadoop企业版 IBM CEO:预测高新技术 五个我最喜欢的方式 我伙呆,硅谷高级工程师年薪16.5万美金起 羡煞旁人的Supercell:Clash of Clans卫冕营收榜冠军 谷歌第三财季利润增36.5% 但摩托罗拉业务继续亏损2.48亿 针对应用开发者的几点建议:注意特征蔓延、加大用户评审…… Ubuntu中文衍生版UbuntuKylin 13.10正式发布 Web设计师和Web开发者之间的区别是什么? 在政府退出后,Google的量子计算机项目面临危机 SQL on Hadoop的最新进展及7项相关技术分享 联想:欲收购黑莓,还能在智能手机领域创造PC神话吗? 谁说Android开发者的收入依然不行? 代码可维护性的神秘面纱 MDCC 2013首批演讲嘉宾名单出炉 议题即将披露 MDCC2013:公开征集讲师和演讲主题 -------数据接收和发送模式的问题!(非资深程序员勿入)100分只给答的最好的 求救!关于坐标系转换问题 现在很多邮件服务器要身份验证,ASP.NET(C#)的SMTPMAIL类有设置身份验证和密码的属性吗? 怎么在基于对话框的程序中加入一幅bmp作为底图? 刚学java,碰到一问题,请 有空进来看看 showMessageDialog的使用问题 disable mainmenu控件的某个subitem怎样实现 哈哈,需要短信网关IP地址及其源代码的快来顶一下。 sybase12.0安装时的问题??? 怎么样能用asp编写使得IE打开pdf文件?在查询后怎样还能在查询的输入框里面保留查询的输入? 如何使用TreeView进行分级管理 触发器的效率问题! 寻求解决方案 组件刷新问题,UP有分 请问 虚拟目录 和 WEB站点 有什么区别? DBEXPRESS的问题!很简单 请问那里有支持中文好的jsp开发的webmail下载?很急!谢谢大家了! 我如何在程序中切换输入法 怎么把一个COleDateTime类型的变量转成time_t类型(long型)变量? 结构成员这样定义 WCHAR bString[0]; 长度为0有意义吗? 关于DLL中的函数 如何动态分配指针数组? 哪里有关于delphi多线程资料下载? 急!!!SQL2000数据库IMAGE图象数据的存取?????? 这个存储过程怎么写? D7中的这个怎不见了啊-----急急 为什么只能传递两个汉字?有解决的办法吗? 关于DLL文件中的函数 lotus菜鸟请求急就!!!!!!!! 如何动态分配指针数组? 怎样实现点击按钮,将光标所在行的某列参数传到另一个form,显示出另一个表的某条相关记录? 这句话到底有什么含义??? T-SQL连接字符串的操作符号是? 问一个送分问题。 如何得到驱动器信息? (腊肉)欢迎讨论:简体、繁体同界面显示问题 請問在水晶報表里怎樣實現這樣的設計 谁有校友录? 欢迎讨论:简体、繁体同界面显示问题 用VB写了Lable控件,但不知如何把背景是否透明的属性加入 这堆警告是什么意思? 关闭API函数? 怎么按钮的字体的颜色改变不了? 关于图像识别,急急,谢谢 用Oracle8i(个人版)连接Oracle8问题(在线) 用quickreport如何做master/detail 報表 大家请看这段代码(部分):为什么returnValue第一次返回null,第二次返回正确??百分求解 发一个笑话--跟警察牛B的人 呵 请问如何用oledb连sybase11.9.2? 菜鸟问题 请高手指点 为什么服务器端用ontlitcp后informix无法启动呀?? 往FeS04加氨水,开始看到的现象是什么后来在空气中露置,继续看到的现象是什么 迎春花的作文 1000 双缩脲试剂能用于尿液中蛋白质的检测吗? 妥尔油脂肪酸与妥尔油区别 函数y=sin(2x+π/6)图像的一个对称中心是 环戊烷多氢菲的分子式 井水烧开有白色液体井水烧开以后壶底有一层白色的块状...每次烧开水都有这种白色块状物体...但是水未烧以前是清澈的干净的水...为什么烧开以后就有一层白色的物体..如果喝了这样的水 已知函数y=1/2tan(2x+q)的图象的一个对称中心为(-帕/6,0),求满足条件的绝对值最小的q (1R,2R)-(-)-1,2-环己二胺 分子式,那里可以买到? 桶装方便面和桶装过桥米线各有各的什么缺点和优点呢? 告诉我制氯气的方法.不能用浓盐酸,浓硫酸,浓硝酸,但不限浓磷酸,稀硫酸,稀盐酸,稀硝酸.次氯酸钠可以吗? 这应该写什么了麻烦你请你告诉我 关于迎春花的作文 为什么稀释浓硫酸时要把浓硫酸倒进水中? 写出下列化合物硝化反应的主要产物1.苯酚2.硝基苯3.苯甲酸 下列离子Fe3+ Cu2+ Ag+ Fe2+ Hg+按氧化性排列顺序为? activities from following HR processes什么意思?RT 为什么下列化合物中,第一个环更易发生硝化反应两个化合物均是在第一个环易发生硝化反应。 上班族午餐带饭,用什么样的保温饭盒比较好? 距离产生的到底是什么?我觉得两个人分开久了,产生的一定不是美,是隔阂,是不信任. 极地汪洋是什么意思麻烦你务必告诉我i 在电解池中阴极放电时,氧气放电能力与Ag+,Cu+等金属活动性顺序表中的金属相比谁更强? 混沌的解释是什么?要的,谢谢啦! 它发生硝化反应引入一个硝基时,产物只有一个硝基化合物我想知道.当看到这个条件时.我们能从中得到什么 或者知道什么 钠会和双氧水反应吗? 如何确定该结构的相对构型 拉布拉多黄还是黑色多 迎春花作文21211221122 用E/Z法确定构型都说是按照官能团的优先次序来看是否一致,我有如下问题是否卤素次于烷基同样是卤素,BR和CL的优先次序怎么样双键是不是优于烷基H是不是比任何都要劣 人生执着什么 晶体硅和sio2晶体中的si原子为什么也是sp3杂化 OF2是极性分子,可以判定其分子构型为”V”形结构吗? 如果没有了执着,人生还有什么意义? 氯气制取氯气与水反应生成HCI和HCIO,HCIO分解成HCI 和氧气,那氯水的酸性会增强吗 能否由氯水加热直接制备氯气?如果可以要注意事项有哪些 执着挣脱命运的枷锁什么意思.? 毕赤酵母有细胞壁吗?如果有的话,细胞壁的主要成分是什么呢?能有溶菌酶降解吗? 美女hr什么意思 数字逻辑实验 用555芯片实现8秒周期震荡电路!急, 迎春花的作文要700字,不要“一到春天,百花仙子就往地上撒出许多的花蕊,而最娇小、最芬芳的花肯定当属迎春花喽!迎春花是在三月份开...”和“看着看着,我才想起来我不是迎春花,我是在看 函数y=-2tan(2x+π/3)的图像的对称中心 非线性混沌实验中倍周期分岔,混沌和奇怪吸引子的物理意义这是我大学物理实验中遇到的一个思考题.希望众位老师能够帮我回答这个问题.我需要它们的物理意义. 山东省济宁市新高二化学学必修几山东省济宁市新高二化学学第几本?选修四还学吗 地质构造理论当中的‘活动论’和‘固定轮’的区别是什么 解释非线性电路中,什么是混沌? 甲苯为什么呈黄色 枕状构造为什么能够确定地质年代?如上我差点忘了。放射性同位素可以用来确定火成岩石的绝对年龄。稳定同位素好像是判断岩石的物质环境与来源。 能沉水,有点香味,有油脂感的老料称杆是什么木料 混沌与秩序之英雄战歌出装色龙,水人,12B出装.跪求大神指点 一道物理竞赛题 行星的退行速度和离我们的距离成正比即v=Hr H为哈勃常数.假设宇宙大爆炸个星体以不同的速度想外匀速运动,我们位于其中心则速度越大的离我们越远 用上述理论确定宇宙的 初学疑问 高温下SiO2与碳酸盐反应生成CO2高温下SiO2与碳酸盐反应生成CO2 是不是假设没有高温条件能发生这个反应就能得出硅酸强于碳酸?但实际碳酸强于硅酸,反应能发生是因为有高温? 农村很多地区使用的井水属于...A.陆地水B.地表水 为什么那么爱气求大神帮助 怎么看两个离子会不会发生氧化还原反应 请教高一离子反应和氧化还原反应, 别人气我我气别人行不行?谢谢了,大神帮忙啊 金属键里静电吸引和 阴阳离子通过静电吸引所形成的化学键,叫离子键 我想问为什么是静电,而不是电 1.石油磺酸盐和脂肪酸相比有哪些特点? 已知函数1/2tan(2x+φ)的图像的一个对称中心为(-π/6),求满足条件的绝对值最小的φ 力分解遵循的规律 奥巴马“网络水军”利用推特打医保舆论帮总统“解围”专门紧盯政治异见者 奥日媒:安倍上任后已打13次高尔夫 展穆尔西出庭高喊“我是总统”东京股市日经股指微涨俄罗斯惊现一专杀老年女性杀人狂 两年男友不肯吃麦当劳 女友开车将其辗过3日本研发机器人摇滚乐队:“鼓手”长6日拟将化妆品等商品列入外国游客免税购摩洛哥一架客机在蒙特利尔机场起火 5印度火星项目负责人祈祷发射成功 称导俄罗斯大胆盗贼偷警察大楼 部分武器及美国务卿克里访埃及 美官员称或恢复对不想脱外套 美国3岁女童被托儿所长活奥巴马被指政治光环不再 支持率与声望一客机在蒙特利尔机场失火被迫疏散 致日本一17岁少年将伙伴推下河 称没有郭声琨:加强防控把暴力恐怖活动摧毁在新疆日报:始终筑牢反分裂思想防线新加坡:见习飞行员遇车祸 获赔留学费美建议叙问题会议11月举行 不确信反找到初心坚决打赢反腐败这场正义之战对反腐制度建设充满期待苏东坡的勤廉邛崃 开展主体责任 落实情况“期末考开怀纳谏自然会得“好评”仁者,以天地万物为一体对纪律要常存戒惧之心以担当诠释忠诚万名党员领导干部接受警示教育画里有话匡衡的人生“怪圈”戴逸:我和清史由“陈轸止昭阳攻齐”说开去家书中的 道德律求持续形成震慑 坚决防止反弹临安一片雪监督者更要自觉接受监督德国大众尾气丑闻:前总裁或早已知晓作惩治“害群马” 严防“灯下黑”开启西周盛世的周成王
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘