原理是从url中提取关键词,参数说明:url及关键词前的字符,然后进行处理与来源判断是那个搜索引擎,这样保存到数据就就行了,PHP实例代码如下:
- <?php
-
-
- $search_url = isset($_get['url'])?$_get['url']:'';
-
-
-
-
- $config = array(
- "s1"=>array(
- "domain" => "google.com",
- "kw" => "q",
- "charset" => "utf-8"
- ),
- "s3"=>array(
- "domain" => "google.cn",
- "kw" => "q",
- "charset" => "utf-8"
- ),
- "s4"=>array(
- "domain" => "baidu.com",
- "kw" => "wd",
- "charset" => "gbk"
- ),
- "s5"=>array(
- "domain" => "soso.com",
- "kw" => "q",
- "charset" => "utf-8"
- ),
- "s6"=>array(
- "domain" => "yahoo.com",
- "kw" => "q",
- "charset" => "utf-8"
- ),
- "s7"=>array(
- "domain" => "bing.com",
- "kw" => "q",
- "charset" => "utf-8"
- ),
- "s8"=>array(
- "domain" => "sogou.com",
- "kw" => "query",
- "charset" => "gbk"
- ),
- "s9"=>array(
- "domain" => "youdao.com",
- "kw" => "q",
- "charset" => "utf-8"
- ),
- );
-
-
- 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;
- }
-
- $arr_key = array();
- foreach($config as $item){
- $sh = preg_match("/b{$item['domain']}b/",$search_url);
- if($sh){
- $query = $item['kw']."=";
-
- $s_s_keyword = get_keyword($search_url,$query);
- $f_skey=urldecode($s_s_keyword);
- if($item['charset']=="utf-8"){
- $f_skey=iconv( "utf-8","gb2312//ignore",$f_skey); //最终提取的关键词
- }
- $keys = explode(" ",$f_skey);
- $arr_key[$item['domain']] = $keys;
- }
- }
- echo "<pre>";
- print_r($arr_key);
-
- ?>
- <form action="index.php" method="get">
- <input name="url" size="80"><button type="submit">go</button>
- </form>
|