透明 发表于 2015-2-3 23:56:04

PHP教程之轻松获得Google PageRank值的源码

在学习PHP这六个月里,每看到一个优秀的php脚本,就会兴奋的手舞足蹈,嘴里还不停的说:太酷了,太酷了。呵呵,很幼稚吧,但这可能就是兴趣。谷歌     比来对谷歌的PageRank对照感乐趣,一向想晓得若何不必谷歌 toolbar来获得pr值。用嗅探东西取得谷歌 toolbar收回恳求的url为:http://toolbarqueries.谷歌.com//search?client=navclient-auto&ch=64170410360&ie=UTF-8&oe=UTF-8&features=Rank:FVN&q=info:http%3A//www.ugia.cn,个中的关头局部为ch=64170410360,即CheckSum,不晓得这个是用的甚么算法得出来的。

  苦苦搜刮以后,找到以下代码:

  转自: http://meese.ath.cx/谷歌 via 思绪(http://silu.spirezone.com)
<?php
/**
    This code is released unto the public domain
*/
//header("Content-Type: text/plain; charset=utf-8");
define('GOOGLE_MAGIC', 0xE6359A60);

//unsigned shift right
function zeroFill($a, $b)
{
    $z = hexdec(80000000);
      if ($z & $a)
      {
            $a = ($a>>1);
            $a &= (~$z);
            $a |= 0x40000000;
            $a = ($a>>($b-1));
      }
      else
      {
            $a = ($a>>$b);
      }
      return $a;
}   

function mix($a,$b,$c) {
$a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
$b -= $c; $b -= $a; $b ^= ($a< <8);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
$b -= $c; $b -= $a; $b ^= ($a<<16);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,3));
$b -= $c; $b -= $a; $b ^= ($a<<10);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,15));

return array($a,$b,$c);
}

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
    if(is_null($length)) {
      $length = sizeof($url);
    }
    $a = $b = 0x9E3779B9;
    $c = $init;
    $k = 0;
    $len = $length;
    while($len >= 12) {
      $a += ($url[$k+0] +($url[$k+1]< <8) +($url[$k+2]<<16) +($url[$k+3]<<24));
      $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
      $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
      $mix = mix($a,$b,$c);
      $a = $mix; $b = $mix; $c = $mix;
      $k += 12;
      $len -= 12;
    }

    $c += $length;
    switch($len)            /* all the case statements fall through */
    {
      case 11: $c+=($url[$k+10]<<24);
      case 10: $c+=($url[$k+9]<<16);
      case 9 : $c+=($url[$k+8]<<8);
          /* the first byte of c is reserved for the length */
      case 8 : $b+=($url[$k+7]<<24);
      case 7 : $b+=($url[$k+6]<<16);
      case 6 : $b+=($url[$k+5]<<8);
      case 5 : $b+=($url[$k+4]);
      case 4 : $a+=($url[$k+3]<<24);
      case 3 : $a+=($url[$k+2]<<16);
      case 2 : $a+=($url[$k+1]<<8);
      case 1 : $a+=($url[$k+0]);
         /* case 0: nothing left to add */
    }
    $mix = mix($a,$b,$c);
    /*-------------------------------------------- report the result */
    return $mix;
}

//converts a string into an array of integers containing the
numeric value of the char
function strord($string) {
    for($i=0;$i<strlen($string);$i++) {
      $result[$i] = ord($string{$i});
    }
    return $result;
}
// http://www.example.com/ - Checksum: 6540747202
$url = 'info:'.$_GET['url'];
$ch = GoogleCH(strord($url));
$url='info:'.urlencode($_GET['url']);
echo file_get_contents("http://www.谷歌.com/search?client=
navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url");
/* use curl send the user angent
$curl = curl_init("http://www.谷歌.com/search?client=navclient-auto&ch=6$
ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url");
curl_setopt ($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;
GoogleToolbar 2.0.110-big; Windows 2000 5.0)");
curl_exec($curl);
*/
?>
</></>

在相册系统的开发上,因为采用的是团队分工合作方式,更让我明白了在一个团队之中,团队成员之间的交流沟通的重要性,如果没有很好的沟通交流,成员之间的任务没有分配好。

小妖女 发表于 2015-2-4 07:03:21

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

精灵巫婆 发表于 2015-2-8 03:43:15

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。

冷月葬花魂 发表于 2015-2-10 15:00:51

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

深爱那片海 发表于 2015-2-21 19:46:14

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

admin 发表于 2015-3-13 09:10:04

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

因胸联盟 发表于 2015-3-13 09:10:04

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

海妖 发表于 2015-3-20 17:55:06

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

第二个灵魂 发表于 2015-3-22 04:09:36

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

仓酷云 发表于 2015-3-22 17:09:49

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

变相怪杰 发表于 2015-4-12 19:30:17

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

简单生活 发表于 2015-4-22 06:16:01

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

活着的死人 发表于 2015-4-26 00:09:18

当然这种网站的会员费就几十块钱。

透明 发表于 2015-5-1 08:10:37

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

谁可相欹 发表于 2015-5-3 14:47:16

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

乐观 发表于 2015-6-14 10:50:42

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

若相依 发表于 2015-6-20 01:35:57

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

只想知道 发表于 2015-6-21 20:08:21

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

飘飘悠悠 发表于 2015-6-23 14:54:10

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

不帅 发表于 2015-6-29 22:33:34

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
页: [1]
查看完整版本: PHP教程之轻松获得Google PageRank值的源码