滿多網站都有製作. 站內的 search API . 今天就來介紹一下 各 API 的使用

 

【Google】 (目前是使用 1.0 的版本. 之後會補上 新版)

<?

$q = '';

# 要搜尋的 Keyword 

$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&hl=zh-TW";

$url_search = $url."&q=".$q;

$result = file_get_contents($url_search);

$search_result = json_decode($result);

# search_result 就是得到的 search 資料. 取得的資料會是 jason 格式. 所以有做一個 json_decode 的動作

?>


【Yahoo】

# 環境變數

<?

$q = '';

# 要搜尋的 Keyword 

$user_ip = $_SERVER['REMOTE_ADDR'];
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$x_forwarded_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

$affilData = "ip=" . $user_ip;
if(!empty($x_forwarded_ip)) $affilData .= "&xfip=" . $x_forwarded_ip;

$serveUrl = '';
# 是指. 你的網站 的搜尋的頁面呀. 例如: http://www.kimo.com.tw/search

$search_baseurl = "http://xml.tw.overture.com/d/search/p/standard/xml/tw/2_9/multi/";
# Yahoo 搜尋網址
$search_lang = "&affilData=".urlencode($affilData)."&serveUrl=".urlencode($serveUrl)."&keywordCharEnc=utf8&outputCharEnc=utf8"
# 語系設定. 這邊是設上 utf8

$url_search = $search_baseurl."?Keywords=".$q."&Partner=url_tw_xml_search";

$loadurl = $url_search.$search_lang;
$loadurl .= "&is=" . $vis;

$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $loadurl);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$xml_data = curl_exec ($ch);
curl_close ($ch);

$parser = xml_parser_create();


if($parser) {

   xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, 'UTF-8');
   xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
   xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
   xml_parse_into_struct($parser, trim($xml_data), $xml_values);
   xml_parser_free($parser);

   // $xml_values 由於取得是 XML 格式. 所以這邊有做了一下 xml_parser

}

?>

 

【Bing】 

<?

// Bing API
$accountKey = '';
# 由於 Bing Search 需要 API 的 key
# 可以到註冊會員後. 就可以取得 一個 API 的 KEY 

       

#
# 相關網址: https://datamarket.azure.com/dataset/5BA839F1-12CE-4CCE-BF57-A49D98D29A44 

$q = '';
# 要搜尋的 Keyword

$request = 'https://api.datamarket.azure.com/Data.ashx/Bing/Search/Composite?Sources=%27web%27&Query=%27'.$q.'%27&$format=json';

$ch = curl_init($request);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, $accountKey . ":" . $accountKey);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);

$json_obj = json_decode($response);

 # response 就是得到的 search 資料. 取得的資料會是 jason 格式. 所以有做一個 json_decode 的動作

 

?>

文章標籤
全站熱搜
創作者介紹
創作者 王小明 的頭像
王小明

王小明的部落格

王小明 發表在 痞客邦 留言(0) 人氣(309)