Google Arama Ajax Servisi ile Arama

Google arama motorunda programcılar için geliştirilen arayüzsüz arama kısımlarından biri olan Google Search Ajax servisinden kısa bir örneğini aşağıda bulabilirsiniz.

Daha önce de var olan bu servis, Google Search Api servisine geçmesiyle kullanımı daraltılmıştır. Önceden tüm sayfa sonuçları gelmekteyken şimdi aradığınız kelimede 4 adet sonuç gelmektedir.

Çok basit bir sistemi olan bu uygulamada yaptığımız json ile kodlanmış bu sayfadaki veriyi çekip, json ile tekrar düzenleyerek istediğimiz şekilde derlemek.

Uygulama Örnek Sayfası

<?php
header("Content-Type: text/html; charset=UTF-8");

function get_web_page($url) {

$options = array (
 CURLOPT_RETURNTRANSFER => true, // return web page
 CURLOPT_HEADER => false, // don't return headers
 CURLOPT_FOLLOWLOCATION => true, // follow redirects
 CURLOPT_ENCODING => "", // handle compressed
 CURLOPT_USERAGENT => "googlebot", // who am i
 CURLOPT_AUTOREFERER => true, // set referer on redirect
 CURLOPT_CONNECTTIMEOUT => 30, // timeout on connect
 CURLOPT_TIMEOUT => 30, // timeout on response
 CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
 CURLOPT_SSL_VERIFYPEER => false // Disabled SSL Cert checks
 );
 $ch = curl_init ( $url );
 curl_setopt_array ( $ch, $options );
 $content = curl_exec ( $ch );
 $err = curl_errno ( $ch );
 $errmsg = curl_error ( $ch );
 $header = curl_getinfo ( $ch );
 $httpCode = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );

curl_close ( $ch );

$header ['errno'] = $err;
 $header ['errmsg'] = $errmsg;
 $header ['content'] = $content;
 return $header ['content'];
}

?>
<!DOCTYPE html>
<html>
<body>
<?php
if ( isset($_GET['q']) && $_GET['q'] ){
 $strSearch = $_GET['q'];
 $url = 'https://ajax.googleapis.com/ajax/services/search/web?v=1.0&hl=tr&q='.$strSearch;
 $response = get_web_page( $url );
 $response = json_decode( $response );
 echo '<pre>';
 print_r( $response );
} else {
 echo
 '<form action="http://www.vyz.gen.tr/uygulamalar/php/google-search-ajax/">
Aranacak Kelime :<input type="text" name="q"><br />
<input type="submit" value="ARA">
</form>';

}
?>
</body>
</html>

Paylaş: