Search Engine Pake Bing, Google dan Yahoo Boss di WP
Dulu saya sudah bahas bagaimana cara bikin search engine di WordPress pake Bing, juga mesin pencari pake Google. Sekarang bagaimana kalo kita tambahkan satu lagi pake Yahoo Boss dan menggabungkan semuanya jadi satu. Jadi search engine di halaman hasil pencarian wp-nya pake Bing, Google dan Yahoo Boss. Tanpa basa-basi embat aja langsung skrip-nya sob (modifikasi dikit aja kok dari yang dulu, langkahnya juga sama.)
Kode 1 (Script proses keyword) – Buka search.php dan tempatkan Kode berikut di paling atas sebelum kode <?php get_header(); ?>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | <?php define('BING_API_KEY', ''); define('YAHOO_API_KEY', ''); define('GOOGLE_API_KEY', ''); function pete_curl_get($url, $params){$post_params = array(); foreach ($params as $key => &$val) { if (is_array($val)) $val = implode(',', $val); $post_params[] = $key.'='.urlencode($val); } $post_string = implode('&', $post_params); $fullurl = $url."?".$post_string; $ch = curl_init();curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($ch, CURLOPT_URL, $fullurl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040608'); //kamu bisa pake user agent yang lain, lihat listnya di sini www.user-agents.org $result = curl_exec($ch);curl_close($ch); return $result; } function perform_bing_web_search($termstring){$searchurl = 'http://api.bing.net/json.aspx?'; $searchurl .= 'AppId='.'ABCDEFG'; //ganti ABCDEFG dengan kode api BING http://www.bing.com/developers/appids.aspx $searchurl .= '&Query='.urlencode($termstring); $searchurl .= '&Sources=Web'; $searchurl .= '&Web.Count=10'; //jumlah list situs yang dihasilkan $searchurl .= '&Web.Offset=0'; $searchurl .= '&Web.Options=DisableHostCollapsing+DisableQueryAlterations'; $searchurl .= '&JsonType=raw'; $response = pete_curl_get($searchurl, array()); $responseobject = json_decode($response, true);if ($responseobject['SearchResponse']['Web']['Total']==0)return array(); $allresponseresults = $responseobject['SearchResponse']['Web']['Results']; $result = array(); foreach ($allresponseresults as $responseresult){$result[] = array('url' => $responseresult['Url'],'title' => $responseresult['Title'],'abstract' => $responseresult['Description'],); }return $result; } function perform_google_web_search($termstring) { $start = 0; $result = array(); while ($start<10) //kamu bisa ganti angka "10" untuk jumlah list yang ditampilkan { $searchurl = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0'; $searchurl .= '&key='.'ABCDEFG'; //ganti ABCDEFG dengan kode api Google http://code.google.com/apis/ajaxsearch/signup.html $searchurl .= '&start='.$start; $searchurl .= '&rsz=large'; //kamu bisa pake "small" untuk menampilkan hanya 4 (maksimal) pencarian $searchurl .= '&filter=0'; //kamu bisa ganti "filter=1" untuk mem-filter hasil pencarian $searchurl .= '&q='.urlencode($termstring); $response = pete_curl_get($searchurl, array()); $responseobject = json_decode($response, true); if (count($responseobject['responseData']['results'])==0) break; $allresponseresults = $responseobject['responseData']['results']; foreach ($allresponseresults as $responseresult) { $result[] = array( 'url' => $responseresult['url'], 'title' => $responseresult['title'], 'abstract' => $responseresult['content'], ); } $start += 8; } return $result; } function perform_boss_web_search($termstring) { $searchurl = 'http://boss.yahooapis.com/ysearch/web/v1/'; $searchurl .= urlencode($termstring); $searchparams = array( 'appid' => 'ABCDEFG', //ganti ABCDEFG dengan kode api Yahoo Boss https://developer.apps.yahoo.com/projects/projects 'format' => 'json', 'count' => '10', ); $response = pete_curl_get($searchurl, $searchparams); $responseobject = json_decode($response, true); error_log(print_r($responseobject, true)); if ($responseobject['ysearchresponse']['totalhits']==0) return array(); $allresponseresults = $responseobject['ysearchresponse']['resultset_web']; $result = array(); foreach ($allresponseresults as $responseresult) { $result[] = array( 'url' => $responseresult['url'], 'title' => $responseresult['title'], 'abstract' => $responseresult['abstract'], ); } return $result; }if (isset($_REQUEST['s'])) { $termstring = urldecode($_REQUEST['s']); } else { $termstring = '';} ?> |
Kode < ?php pada kode 1 line 1 agak terpisah tuh, dirapatkan aja kek gini <?php. Kode line 39 while ($start<10) jadinya gini while ($start<10).
Artikel Terkait:
Tags: Api Key, Bing, Google, Search Engine, Yahoo Boss, bing, yahoo boss, bing google, lrd yahoo apis, kode API bing, kode api, json_decode($response), jevuska trik sms, if (isset($s)) adsense-id com, google, ganti api bing, mesin pencari bing google, pete_curl_get, yahoo google bing, yahoo google
Kok erer gini “Parse error: syntax error, unexpected ‘;’ in /home/a2655686/public_html/wp-content/themes/twentyten/search.php on line 39″
Np ya om tolong dong?
usup February 25, 2011 at 6:00 pmOm Jevv, saya dibuatin agc sama saudara saya dan saudara saya ternyata berguru sama Om Jevv. Makanya saya minta tolong di review donk ini kode di search result (search.php) nya agak beda sedikit.
saya ga tahu apapun soal kode html, waktu itu saya pelototin kode html nya berjam-jam yang ada malah eneg mau muntah liat tulisan kecil-kecil gitu, he..he..
Jujur saya mau nyontek aja script yang diatas itu musti di edit lagi ga Om ? sama yang ada kata2 bahasa indonesia itu, ga mudeng blas cara gantinya.
ini script yg lama, sumbernya dari Om jevv juga (blognya yg di comment ini)
putra February 21, 2011 at 11:55 pmThanks ya om
izin ngoprek nih script
Unbi Niddurrajah February 21, 2011 at 10:11 pmmalam om…
kok ada error logs ya?
contoh…
(
[ysearchresponse] => Array
(
[responsecode] => 200
[nextpage] => /ysearch/web/v1/ayat%20alquran%20qodo%20dan%20qodar?format=json&count=5&appid=aGEhjIXV34E4kr5hiPRPUOGuuBibC2VL0ufYHXYjQKb6sdLFfgg_ysdVNEwn5Y8-&start=5
[totalhits] => 29
[deephits] => 67
[count] => 5
[start] => 0
[resultset_web] => Array
(
[0] => Array
(
[abstract] => Anak Saya Sering Menangis dan Menjerit Tengah Malam Cara Sabar … ayat alquran YANG BERISI KAN QODO DAN QODAR. contoh perbedaan mazhab terhadap suatu hukum …
[clickurl] => http://lrd.yahooapis.com/_ylc=X3oDMTU4bDFnZ3YyBF9TAzIwMjMxNTI3MDIEYXBwaWQDYUdFaGpJWFYzNEU0a3I1aGlQUlBVT0d1dUJpYkMyVkwwdWZZSFhZalFLYjZzZExGZmdnX3lzZFZORXduNVk4LQRjbGllbnQDYm9zcwRzZXJ2aWNlA0JPU1MEc2xrA3RpdGxlBHNyY3B2aWQDdmlZWW4yS0ljcnJnVjFGdkplel8xcFY5MEN0eU5FMDRjdU1BRFlUUA-/SIG=11ebb4qa8/**http%3A//blog.re.or.id/search/cara%2Bsabar/
[date] => 2011/01/14
[dispurl] => blog.re.or.id/search/cara+sabar
[size] => 15344
[title] => Cara Sabar | Cara Sabar
[url] => http://blog.re.or.id/search/cara+sabar/
)
kira2 ada apa ya om…padahal saya udah ikuti sesuai dengan yang dijelaskan disini….
whandi January 21, 2011 at 9:41 pmmohon pencerahannya… terima kasih
YYiiiiihhhhhaaaaaaaaaaaaa………. berhasil om jevvv….. ini keberhasilan ane yg pertama moding coding dari trik om jev. top markotop lah nih ilmu om jev. jangan segan sharing triknya lagi ya om jev… saya gak segan2 kok nampung ilmunya. heheee…
Ciayoo January 16, 2011 at 11:52 pm