ホームページ >バックエンド開発 >PHPチュートリアル >Google インクルージョン クエリと PR クエリ PHP ソース コードのダウンロード_PHP チュートリアル
このコンテンツは、Google のインクルージョン クエリおよび PR クエリを実行するための PHP ソース コードを使用してダウンロードされます。ダウンロード後、少し変更して使用できます。
このコンテンツは、Google に含まれるクエリと PR クエリの PHP ソース コードを使用してダウンロードされます。ダウンロード後は、少し変更して使用できます。
function google()
{
//同時に Google 検索結果を頻繁にスキャンすると、GG が IP をブロックします。そのため、Binghe はこの機能を一時的に削除しました
//ネチズンがこの機能を有効にしたい場合は、次の行をコメントアウトするだけです。よろしくお願いします。
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,"
概要", " アイテムが一致"));
if ($PageNum == "") $PageNum = "0";
echo "< ;a href='".$url."' target='_blank'>$PageNum";
}
{
global $murl,$furl;
echo GetPR(" http: //$furl") ;
}
{
$message =explode($start,$string);
$message =explode($end,$message[ 1]);
return $message[0];
}
functionescape($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) {
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);
}
function zeroFill($a, $b) をチェックするために使用されます
{
$z = hexdec(80000000 ) ;
if ($z & $a)
$a = ($a>>1);
$a |=
$a = ($ a> ;>($b-1));
}
else
{
$a = ($a>>$b);
return $a; b ,$c)
$a -= $b; $a ^= (zeroFill($c,13)); ; $b ^= ($a $c -= $b; $c ^= (zeroFill($b,5));
$a -= $b; ( $c,3));
$b -= $a; $b ^= ($a 配列($a,$b,$c);
関数 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] $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url [$k+7] $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url [$k+11] $mix = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}
$c += $length;
switch($len)
{
ケース 11: $c+=($url[$k+10]<<24);
ケース 10: $c+=($url[$k+9]<<16);
ケース 9 : $c+=($url[$k+8]<<8);
ケース 8 : $b+=($url[$k+7]<<24);
ケース 7 : $b+=($url[$k+6]<<16);
ケース 6 : $b+=($url[$k+5]<<8);
ケース 5 : $b+=($url[$k+4]);
ケース 4 : $a+=($url[$k+3]<<24);
ケース 3 : $a+=($url[$k+2]<<16);
ケース 2 : $a+=($url[$k+1]<<8);
ケース 1 : $a+=($url[$k+0]);
}
$mix = mix($a,$b,$c);
$mix[2] を返します;
}
function strord($string) {
for($i=0;$i
}
$result を返します。
}
function ReadPR($link)
{
$fp = fsockopen ("www.google.com", 80, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno)n";
出口(1);
}
else
{
$out = "GET $link HTTP/1.0rn";
$out .= "ホスト:toolbarqueries.google.comrn";
$out .= "ユーザーエージェント: Mozilla/4.0 (互換性; GoogleToolbar 2.0.114.9-big; Linux 2.6)rn";
$out .= "接続: 閉じるrnrn";
fwrite($fp, $out);
do{
$line = fgets($fp, 128);
}while ($line !== "rn");
$data = fread($fp,8192);
fclose ($fp);
$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";
}