滿多網站都有製作. 站內的 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 

azure        

#
# 相關網址: 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 的動作

 

?>