Re: [請益] yahoo斷章取義api

看板PHP作者 (做自己 好自在)時間14年前 (2010/03/23 21:46), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串3/5 (看更多)
※ 引述《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
不必用pure的curl,裝http extension就可以
03/24 01:16, 2F
文章代碼(AID): #1BgCOxvr (PHP)
文章代碼(AID): #1BgCOxvr (PHP)