google 收录查询与pr 查询 php源码下载

function google()
{
 //在同时间过于频繁地扫描Google搜索结果,GG会屏蔽该IP.因此冰河在此暂时去掉了此功能
 //诸位网友如果想开放此功能可以,可将下面这一行加上注释即可,谢谢!
 echo "0"; return "";
 global $murl,$furl;
 $url = "http://www.google.cn/search?hl=zh-CN&q=site:$furl";
 $page = file_get_contents($url);
 //echo $page;
 $PageNum = "0";
 $PageNum = str_replace(",","",cut($page,"<p>&nbsp;约有 <b>", "</b> 项符合"));
 if ($PageNum == "") $PageNum = "0";
 echo "<a href='".$url."' target='_blank'>$PageNum</a>";
}

function pr()
{
 global $murl,$furl;
 echo GetPR("http://$furl") ;
}

function cut($string,$start,$end)
{
 $message = explode($start,$string);
 $message = explode($end,$message[1]);
 return $message[0];
}

//功能与javascript中的escape一样
function escape($str) {
  preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r);
  $ar = $r[0];
  foreach($ar as $k=>$v) {
    if(ord($v[0]) < 128)
      $ar[$k] = rawurlencode($v);
    else
      $ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v));
  }
  return join("",$ar);
}

function unescape($str) {
  $str = rawurldecode($str);
  preg_match_all("/(?:%u.{4})|.+/",$str,$r);
  $ar = $r[0];
  foreach($ar as $k=>$v) {
    if(substr($v,0,2) == "%u" && strlen($v) == 6)
      $ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4)));
  }
  return join("",$ar);
}

//下面的函数用于查pr
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[0]; $b = $mix[1]; $c = $mix[2];
  $k += 12;
  $len -= 12;
 }
 $c += $length;
 switch($len)
 {
  case 11: $c+=($url[$k+10]<<24);
  case 10: $c+=($url[$k+9]<<16);
  case 9 : $c+=($url[$k+8]<<8);
  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]);
 }
 $mix = mix($a,$b,$c);
 return $mix[2];
}

function strord($string) {
 for($i=0;$i<strlen($string);$i++) {
 $result[$i] = ord($string{$i});
 }
 return $result;
}

function ReadPR($link)
{
 $fp = fsockopen ("www.google.com", 80, $errno, $errstr, 30);
 if (!$fp)
 {
  echo "$errstr ($errno)n";
  exit(1);
 }
 else
 {
  $out = "GET $link HTTP/1.0rn";
  $out .= "Host: toolbarqueries.google.comrn";
  $out .= "User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 2.0.114.9-big; Linux 2.6)rn";
  $out .= "Connection: Closernrn";
  fwrite($fp, $out);
  do{
  $line = fgets($fp, 128);
  }while ($line !== "rn");
  $data = fread($fp,8192);
  fclose ($fp);
  return $data;
 }
}

function GetPR($url)
{
 $url ='info:'.$url;
 $ch = GoogleCH(strord($url));
 $data = ReadPR("/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url");
 $rankarray = explode (':', $data);
 if(trim($rankarray[2])!=""){
  return $rankarray[2];
 }
 else
  return "0";
}

时间: 2024-09-22 22:03:46

google 收录查询与pr 查询 php源码下载的相关文章

Google首页现代舞先驱玛莎&amp;#183;葛兰姆JS代码分析(附源码下载)

  2011年5月11日,GOOGLE为了纪念现代舞先驱玛莎·葛兰姆 117 周年诞辰,用巧妙的技术和奇特的创意在首页创建了一副跳舞的图,我把整个源码下载下来并加以分析和重构,效果图如下: 整个动画实际上是由155张小图片做出来的(GOOGLE的设计师太NB了),就像放电影那样,如下图: 虽然原理很简单,就是用JS来控制播放上面的图片,不过里面还有很多技巧是值得学习的,下面是我对代码的分析. HTML部分很简单,就一个div容器: <div id="hplogo">    

avalon js实现仿google plus图片多张拖动排序附源码下载_javascript技巧

源码下载:http://xiazai.jb51.net/201509/yuanma/drag_sort1(jb51.net).rar 效果展示如下: google plus     拖动+响应式效果:   要求 1. 两边对齐布局,即图片间间距一致,但左右两边的图片与边界的间距不一定等于图片间间距,兼容ie7,8,firefox,chrome. 2. 浏览器尺寸变化,在大于一定尺寸时,每行自动增加或减少图片,自动调整图片间间距,以满足两边对齐布局,这时每张图片尺寸固定(这里是200*200px)

Android源码下载及开发环境的搭建

1.前言         前一博文给自己列了一下Android的学习计划,是时候一个个的完成了.如计划列的,我要写的第一篇是<Android源码 的下载及开发环境的搭建>,致于如何去下载源码,其实网上已经一大堆的帖子了,一搜就有.但在这里,我想说,一个源码的下载,不是简单的把源码下载下来之 样就OK了,就可以开始你的源码学习之旅.要想更好的学习源码和进行开发,一个适合自己的开发环境还是必不可少的,这里我会列出来我给自己准备的开发环境 的做法,不能说明是最优的,但至少我感觉对我来说还是挺方便的.

《Android的设计与实现:卷I》——第1章 1.3Android源码下载和编译

1.3 Android源码下载和编译 Android源码的开发需要Linux环境,读者可以安装Ubuntu 10.04及其后续版本,推荐安装Ubuntu的10.04或者12.04这两个LTS(长期技术支持)版本.本书基于Jelly Bean(Android 4.1)分析源代码,该部分源代码的编译需要64位操作系统环境.本节将介绍如何在Ubuntu 12.04(LTS)-64bit上搭建Android源码开发所需环境,这是保障后续步骤能够顺利进行的前提条件,必须准确无误.Android源码分成上层

asp 友情链接检查工具源码下载

asp 友情链接检查工具源码下载 <% If not isEmpty(Request.Querystring("d")) Then  dm = Request.Querystring("d")  Set obj = Server.CreateObject("liuganExt.friendLink")  arr = obj.getLinks(dm)  linkArr = arr(0)  linkCount = arr(1)  pagecou

谈谈做源码下载站的艰辛!

旗下的源码站已经开通了将近有一年了,一个词"艰辛",现在只有9000多的IP,距一万还差一点! 如今的源码下载站不像当年阿飞的站长站,就一个源码下载频道就可以统领个人站长的半壁江山!当年的源码下载站随便搞一下可火了,一个动网论坛程序一般的下载站一天就至少有几百的下载量,流量惊人!不谈优化,只要站长努力,多多熬夜去找资源,更新办好一个源码站那是没有问题的! 但如今不一样了,互联网的神幻莫测令人惊讶!现在做下载站除了华军.天空等为主流外,个人站长方面的霏凡.赢政.绿软联盟等做得还可以外,其

《iOS网络编程与云端应用最佳实践》上线了-源码下载,样章-正式发售了

我的最新作品:<iOS网络编程与云端应用最佳实践>一书正式发售:(欢迎大家到京东.当当.亚马逊购买)    当当   亚马逊   京东 源码和试读章节和大家分享一下! <iOS网络编程与云端应用最佳实践>书籍源码下载地址(免费下载):   http://download.csdn.net/detail/tonny_guan/5419117 试读章节下载地址   http://download.csdn.net/detail/tonny_guan/5419123    可以通过微博在

jqGrid表格应用之新增与删除数据附源码下载_jquery

jqGrid可以结合fancybox等插件完成超酷的弹出层效果,通过与php后台交互,可以轻松完成数据的添加与详情查看,而这个过程完全是一个ajax异步通信过程,是一个非常友好的富客户端应用. 下面给大家展示了效果图,喜欢的朋友可以直接下载源码哦. 效果展示    源码下载 在上一篇文章中,我们提到过jqGrid自身有强大的单元格操作模块,但是这些模块操作起来不太适合用户的习惯,在本文中,我们使用fancybox,以及表单插件来完成jqGrid数据的添加以及删除操作. XHTML 首先需要在he

基于spring+hibernate+JQuery开发之电子相册(附源码下载)_java

项目结构: 开发之电子相册(附源码下载)_java-spring hibernate源码"> 项目首页: 注册页面: 上传图片: 效果图一: 效果图二: 效果图三: ============================================================= 下面是代码部分 ============================================================= 需要用到的数据库SQL: 复制代码 代码如下: drop dat

android-使用环信SDK开发即时通信功能(附源码下载)_Android

最近项目中集成即时聊天功能,挑来拣去,最终选择环信SDK来进行开发,选择环信的主要原因是接口方便.简洁,说明文档清晰易懂.文档有Android.iOS.和后台服务器端,还是非常全的.  环信官网:http://www.easemob.com/ 本篇文章目的主要在于说明环信Demo如何实现即时通信的.我在集成环信SDK到我们自己开发的app之前,研究了一下环信demo的代码,看了两三天的样子,基本搞清楚来龙去脉,但是只是清楚来龙去脉,要说到里面的细节可能得深一步研究,但是这就够了,已经可以把dem