Re: [請益] yahoo斷章取義api
※ 引述《wfgh (lyle)》之銘言:
: 以前沒摸過api
: php也是昨天才開始摸
: 只會一些基本的(用原本寫c/c++的底子去學php的)
: 程式架構大概看得懂這樣
: 但專題指導老師幾天前要我們用一個禮拜時間
: 用完全沒學過的php寫一個程式
: 可以輸入文章然後利用yahoo斷章取義api來做斷詞
: 請問yahoo斷章取義的api該怎麼使用呢?
: http://tw.developer.yahoo.com/cas/api.php
: 上面的技術文件只有很簡短的介紹
: 我該怎麼將欄位的值傳過去
: 又該怎麼接收執行完的結果
: 昨天跟今天一直google看書還是沒有什麼頭緒
: 只知道好像需要用到curl
: 麻煩各位前輩給點指引
: 我需要從哪些方面著手研讀
: 謝謝~
首先 網址
http://asia.search.yahooapis.com/cas/v1/[API 方法名稱]
API方法在文章下面有寫有ws和ke兩種
所以意味著
1.http://asia.search.yahooapis.com/cas/v1/ws
2.http://asia.search.yahooapis.com/cas/v1/ke
發送Resuest的時候有這兩種方法
當你要使用"斷詞與詞性標註"時 就對第一個網址發送Request
當你要使用"文章關鍵字擷取"時 就對第二個網址發送Request
舉個簡單的例子
今天我要搜尋"雅虎"這個斷詞與詞性標註(<====不是很懂這個中文翻譯XD)時
要先把必須傳送的資料appid和content準備好
appid要跟雅虎申請 (怎麼申請我不知道 知道順便跟我說一下XD)
先暫定appid為"12345" 而要搜尋的內容content為"測試"
而我比較偏好使用xml 所以在文件中說的可以在參數多帶個format=xml (或送header)
現有的東西寫成程式碼
$url = http://asia.search.yahooapis.com/cas/v1/ws;
$data = array();
$data["appid"] = "12345";
$data["content"] = "測試";
$data["format"] = "xml";
這邊會把資料湊成陣列 是為了等等使用http_build_query()
( 參考:http://www.php.net/manual/en/function.http-build-query.php )
他可以把陣列資料合併 並且encoded
簡單來說就是為post出去的資料作準備
接下來可能會寫個function去處理
function yahoo_api($http_post_url, $http_post_data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $http_post_url);
(...... 中間自己湊 沒幾行了 ......)
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($http_post_data));
$result=curl_exec($ch);
curl_close($ch);
return $result;
}
然後再把剛剛準備好的資料去call yahoo_api
$xml_result = yahoo_api($url, $data);
沒意外的話 $xml_result就是答案了......才怪
得到的結果是什麼我不知道 但基本上一定是xml文件
所以還要去分析得到的資料 這部份就不是什麼大問題了
--
徒手寫出來的 有錯誤幫忙糾正一下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.67.54.181
→
03/23 23:39, , 1F
03/23 23:39, 1F
→
03/24 01:16, , 2F
03/24 01:16, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 5 篇):