ホームページ  >  記事  >  バックエンド開発  >  検索エンジンのキーワードのソースを取得するPHP関数(Baidu、Googleなどの検索エンジンに対応)_PHPチュートリアル

検索エンジンのキーワードのソースを取得するPHP関数(Baidu、Googleなどの検索エンジンに対応)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:15:21762ブラウズ

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


コードをコピーします コードは次のとおりです:
/ /検索エンジンからのキーワードを取得します
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,'&'); $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"; //q= utf8
$search_4=" sogou.com"; //query= gbk
$search_5="soso.com"; //w= gbk
$search_6="bing.com"; //q= 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);
$bing=preg_match("/b{$search_6}b/" ,$url);
$youdao=preg_match("/b{$search_7}b/",$url);
$bul=$_SERVER['HTTP_REFERER']; ? パラメータ ドメイン名
preg_match('@^(?:http://)?([^/]+)@i',$bul,$matches);一致するドメイン名 Set
$curl="www.netxu.com";
if($burl!=$curl){
if ($google)
{//from google
$s_s_keyword=get_keyword($url,'q =') ;//キーワードの前の文字は「q=」です。
$s_s_keyword=urldecode($s_s_keyword);
$urlname="Google:";
$_SESSION["s_s_keyword"]=$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)
{//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:"; [ "urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
else if($sogou)
{//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)
{//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:"; urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
else if($bing)
{//Bing から
$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:"; ["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:"; ["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
else{
$s_s_keyword="";
$_SESSION["s_s_keyword"]=$s_s_keyword;
$s_urlname=$s_s_keyword;
$s_urlname=$_SESSION["urlname"];キー=$_SESSION["s_s_キーワード"]
}

;
覚えておくべきことは、各検索エンジンのページエンコーディングが異なるため、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(strpos($domain,'baidu.')!==false && preg_match( '/word=([ ^&]*)/i',$path,$regs)){
$searchengine = 'BAIDU'
$keywords = urldecode($regs[1]); // バイドゥ
}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) ]); // そうそう
}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]); // ヤフー台湾
; }elseif(strpos($ドメイン,'cn.yahoo.')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){
$searchengine = ' YAHOO CHINA';
$ キーワード = 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 中国
}elseif(strpos($domain,'msn.com') !==false && preg_match ('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'MSN'
$keywords = urldecode($regs[1]); ; // msn
}
$キーワードを返す


http://www.bkjia.com/PHPjc/326106.html

tru​​ehttp://www.bkjia.com/PHPjc/326106.html技術記事最近、顧客が製品販売の注文を行うために、顧客サービス ソフトウェア (53 顧客サービス) とウェブマスター統計だけで注文を行ったチャネルを知る必要があるプロジェクトに遭遇しました。満足してください...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP を使用した中国語の URL アドレスの読み取りに関する洞察 fopen_PHP チュートリアル次の記事:PHP を使用した中国語の URL アドレスの読み取りに関する洞察 fopen_PHP チュートリアル

関連記事

続きを見る