ホームページ  >  記事  >  php教程  >  検索エンジンのキーワードのソースを取得するPHP関数(Baidu、Googleなどの検索エンジンをサポート)

検索エンジンのキーワードのソースを取得するPHP関数(Baidu、Googleなどの検索エンジンをサポート)

WBOY
WBOYオリジナル
2016-06-13 11:57:29797ブラウズ

最近、顧客が製品販売の注文を行うには、顧客サービス ソフトウェア (53 顧客サービス) とウェブマスターの統計を使用して注文を行ったチャネルを知る必要があるプロジェクトに遭遇しました。勤務時間、夕方退勤、平日のみのニーズを満たすことができます。当社は 6 日間休業しており、顧客サービスはオンラインではないため、注文の特定のソースがわかりません。ウェブサイト機能を通じてソースキーワードを取得するためのコードは、いくつかの主要な検索エンジン (Baidu、Google、Yahoo、Sogou、Soso、Bing、Youdao) の取得方法が含まれています。

コードは次のとおりです:

コードをコピーします コードは次のとおりです:


//検索エンジンから受信データを取得します。 Keywords
function get_keyword($url,$kw_start)
{
$start=stripos($url,$kw_start);
$url=substr($url,$start strlen($kw_start ));
$start=stripos($url,'&'); >if ($start>0)
{
$start=stripos($url,'&');
$s_s_keyword=substr($url,0,$start); 🎜>else
{
$s_s_keyword=substr($url,0);
return $s_s_keyword;

$url=isset($_SERVER[ 'HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';//受信 URL を取得します。
$search_1="google.com"; //q= utf8
$search_2="baidu.com"; //wd= gbk
$search_3="yahoo.cn"; utf8
$search_4="sogou.com"; //クエリ= gbk
$search_5="soso.com" //w= gbk
$search_6="bing.com"; = utf8
$search_7="youdao.com"; //q= utf8

$google=preg_match("/b{$search_1}b/",$url);// 一致状況を記録する, インバウンド判定に使用されます。
$baidu=preg_match("/b{$search_2}b/",$url);
$yahoo=preg_match("/b{$search_3}b/",$url); sogou=preg_match("/b{$search_4}b/",$url);
$soso=preg_match("/b{$search_5}b/",$url); "/b{$search_6}b/",$url);
$youdao=preg_match("/b{$search_7}b/",$url);
$s_s_keyword=""; $bul=$_SERVER['HTTP_REFERER'];
//パラメータなしでドメイン名を取得します
preg_match('@^(?:http://)?([^/] )@i',$ bul, $matches);
$burl=$matches[1]
//一致するドメイン名設定
$curl="www.netxu.com";
if($burl!= $curl) {
if ($google)
{//Google より
$s_s_keyword=get_keyword($url,'q=');// キーワードの前の文字は「q=」です。
$s_s_keyword=urldecode($s_s_keyword);
$urlname="Google:";
$_SESSION["urlname"]=$urlname; ;
//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk
}
else if($baidu)
{// Baidu より
$s_s_keyword=get_keyword($url,'wd=');//キーワードの前の文字は「wd=」です。
$s_s_keyword=urldecode($s_s_keyword);
$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk
$urlname="Baidu:" ;
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
else if($yahoo)
{//
$s_s_keyword=get_keyword($url,'q=');//キーワードの前の文字は「q=」です。
$s_s_keyword=urldecode($s_s_keyword);
//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk
$urlname="Yahoo : ";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
else if($sogou)
{// from Sogou
$s_s_keyword=get_keyword($url,'query=');//キーワードの前の文字は「query=」です。
$s_s_keyword=urldecode($s_s_keyword);
$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk
$urlname="Sogou:" ;
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
else if($soso)
{//
$s_s_keyword=get_keyword($url,'w=');//キーワードの前の文字は「w=」です。
$s_s_keyword=urldecode($s_s_keyword);
$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk
$urlname="Soso:" ;
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
else if($bing)
{// Should
$s_s_keyword=get_keyword($url,'q=');//キーワードの前の文字は「q=」です。
$s_s_keyword=urldecode($s_s_keyword);
//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk
$urlname="Bing :";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
else if($youdao)
{// Youdao より
$s_s_keyword=get_keyword($url,'q=');//キーワードの前の文字は「q=」です。
$s_s_keyword=urldecode($s_s_keyword);
//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk
$urlname="Youdao :";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
else{
$urlname=$burl;
$s_s_keyword="";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
$s_urlname=$urlname; 🎜>$s_urlkey=$s_s_keyword;
}
else{
$s_urlname=$_SESSION["urlname"];
$s_urlkey=$_SESSION["s_s_keyword"];
🎜>?>


覚えておくべきことの 1 つは、各検索エンジンのページ エンコーディングが異なるため、一部は GBK で、一部は UTF8 であるため、取得時に異なる文字エンコーディング変換が行われることになります。
再印刷する場合は明記してください: http:// www .netxu.com/program/12.html

以下は別の関数です。

コードをコピー コードは次のとおりです:


$_SERVER['HTTP_REFERER']='http://www.baidu.com/s?wd=http ://www.jb51.net';
echo save_www_iiwnet_com_keyword('http://www.baidu.com/s?wd=http://www.jb51.net','http://www.baidu .com/s? wd=http://www.jb51.net');
function save_www_iiwnet_com_keyword($domain,$path){
if(strpos($domain, 'google.com.tw') !==false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'GOOGLE TAIWAN'
$keywords = urldecode($ regs[1]) ; // グーグル台湾
}
if(strpos($domain,'google.cn')!==false && preg_match('/q=([^&]*)/i ',$path, $regs)){
$searchengine = 'GOOGLE CHINA'
$keywords = urldecode($regs[1]); // グーグル中国
}
if(strpos) ($domain,' google.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'GOOGLE';
$keywords = urldecode($regs[1]); // グーグル
}elseif(strpos($domain,'baidu.')!==false && preg_match('/wd=([^&] *)/i' ,$path,$regs)){
$searchengine = 'BAIDU';
$keywords = urldecode($regs[1]); // baidu
}elseif( $domain,'baidu .')!==false && preg_match('/word=([^&]*)/i',$path,$regs)){
$searchengine = 'BAIDU'; >$keywords = urldecode ($regs[1]); // baidu
}elseif(strpos($domain,'114.vnet.cn')!== false && preg_match('/kw=([^& ]*)/i ',$path,$regs)){
$searchengine = 'CT114'
$keywords = urldecode($regs[1]); // ct114
}elseif(strpos); ($domain,' iask.com')!==false && preg_match('/k=([^&]*)/i',$path,$regs)){
$searchengine = 'IASK';
$keywords = urldecode($regs[1]); // iask
}elseif(strpos($domain,'soso.com')!==false && preg_match('/w=([^& ]*)/i ',$path,$regs)){
$searchengine = 'SOSO';
$keywords = urldecode($regs[1]); // soso
}elseif(strpos) ($domain, ' sogou.com')!==false && preg_match('/query=([^&]*)/i',$path,$regs)){
$searchengine = 'SOGOU';
$keywords = urldecode($regs[1]); // sogou
}elseif(strpos($domain,'so.163.com')!==false && preg_match('/q=([ ^&]*) /i',$path,$regs)){
$searchengine = 'NETEASE'
$keywords = urldecode($regs[1]); // netease
}elseif; (strpos($domain ,'yodao.com')!== false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'YODAO ';
$keywords = urldecode($regs[1]); // yodao
}elseif(strpos($domain,'zhongsou.com')!==false && preg_match('/word=([ ^&]*) /i',$path,$regs)){
$searchengine = 'ZHONGSOU'
$keywords = urldecode($regs[1]); // zhongsou
}elseif (strpos($domain ,'search.tom.com')!==false && preg_match('/w=([^&]*)/i',$path,$regs)){
$searchengine = 'TOM';
$keywords = urldecode($regs[1]); // トム
}elseif(strpos($domain,'live.com')!==false && preg_match('/q= ([^&] *)/i',$path,$regs)){
$searchengine = 'MSLIVE';
$keywords = urldecode($regs[1]); // MSLIVE
}elseif(strpos( $domain, 'tw.search.yahoo.com')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){
$searchengine = ' YAHOO TAIWAN';
$keywords = urldecode($regs[1]); // yahoo 台湾
}elseif(strpos($domain,'cn.yahoo.')!==false && preg_match('/ p=([^&]*)/i',$path,$regs)){
$searchengine = 'YAHOO CHINA';
$keywords = urldecode($regs[1] ); // yahoo 中国
}elseif(strpos($domain,'yahoo.')!==false && preg_match('/p=([^&]*)/i',$path,$regs) ){
$searchengine = 'YAHOO';
$keywords = urldecode($regs[1]) // yahoo
}elseif(strpos($domain,'msn.com.tw'); ==false && preg_match ('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'MSN TAIWAN'
$keywords = urldecode($regs) [1]); // msn 台湾
}elseif(strpos($domain,'msn.com.cn')!==false && preg_match('/q=([^&]*)/i', $path,$regs )){
$searchengine = 'MSN CHINA';
$keywords = urldecode($regs[1]); // msn china
}elseif(strpos($domain,') msn.com') !==false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'MSN'; = urldecode($regs [1]); // msn
}
return $keywords;


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。