Home > Article > Backend Development > Google inclusion query and PR query PHP source code download_PHP tutorial
This content is downloaded using the PHP source code for querying Google's inclusion query and PR query. You can use it with slight modifications after downloading.
This content is downloaded using the PHP source code of Google's included query and PR query. You can use it with slight modifications after downloading.
function google()
{
//If you scan Google search results too frequently at the same time, GG will block the IP. Therefore, Binghe has temporarily removed this function
// If you netizens want to open this function, you can add a comment to the following line, thank you!
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,"
About", " items match" ));
if ($PageNum == "") $PageNum = "0";
echo "$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];
}
//The function is the same as escape in javascript
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);
}
//The following function is used to check 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
}
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";
}