Curl ile Google Görsellerdeki Resimleri Çekme

Sitemizdeki yazıları arşivleyen Google, kullandığımız resimleri de bizlerin yararına sunma adına uzun zamandır böyle bir hizmete sunmuştur. Genelde Google Görsel arama motorunu duvar kağıdı yapmak, ufak tefek resimlerle yapmış olduğum yazılımları süslemek için kullanmaktayım.

Bu yazımızda sizlere Ajax methodunu kullanarak curl ile Google Görsellerdeki resimleri aramayı göstermeye çalışacağım. Bu şekilde dilerseniz otomatik sitenize resimler ekleyebilir, dilerseniz belli kategorilerdeki resimlerin içinden istediğinizi alabilirsiniz.

Bu uygulamamızda bilmemiz gereken temel bilgi aşağıdaki adresten google görsellerine ait bilgiyi çekebilecek olmamız.

http://ajax.googleapis.com/ajax/services/search/images?v=1.0&hl=tr&q=Aranan Kelime

Bu adresteki q değişkenine dinamik olarak ajax ile göndereceğimiz değerin sonucunu php ile yorumlayıp javascript ile tarayıcıya aktaracağız.

Index.html – Anasayfamız içeriği

<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE>Google Görsellerde Ara</TITLE>
<meta charset="UTF-8">
<STYLE>
BODY {FONT-FAMILY: arial,sans-serif;}
TD {FONT-FAMILY: arial,sans-serif;}
A {FONT-FAMILY: arial,sans-serif;}
P {FONT-FAMILY: arial,sans-serif;}
.h {FONT-FAMILY: arial,sans-serif;}
.h {FONT-SIZE: 20px;}
.q {COLOR: #0000cc;}

#result{display: table-cell;}
#result ul {margin: 0px;padding: 0px;}
#result li {margin: 0px;padding: 0px;float: left;width: 200px;list-style: none;}
</STYLE>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<BODY text="#000000" vLink="#551a8b" aLink="#ff0000" link="#0000cc" bgColor="#ffffff">
	<CENTER>
		<TABLE cellSpacing="0" cellPadding="0" border="0">
			<TBODY>
				<TR>
					<TD>
						<IMG height="110" alt="Google" src="http://upload.wikimedia.org/wikipedia/commons/5/51/Google.png" width="276" />
					</TD>
				</TR>
			</TBODY>
		</TABLE>
		<BR />
		<FORM id="f" action="#" method="post">
			<TABLE cellSpacing="0" cellPadding="4" border="0">
				<TBODY>
					<TR>
						<TD class="q" noWrap>
							<FONT size=-1>
							<A class="q" id="1a" href="http://www.google.com.tr/?hl=tr&amp;tab=wi&amp;ie=UTF-8&amp;oe=UTF-8">Web</A>
							&nbsp;&nbsp;&nbsp;&nbsp;
							<B><FONT color="#000000">Görseller</FONT></B>
							&nbsp;&nbsp;&nbsp;&nbsp;
							<A class="q" id="2a" href="http://www.google.com.tr/grphp?hl=tr&amp;tab=wg&amp;ie=UTF-8&amp;oe=UTF-8">Gruplar</A>
							&nbsp;&nbsp;&nbsp;&nbsp;
							<A class="q" id="4a" href="http://www.google.com.tr/nwshp?hl=tr&amp;tab=wn&amp;ie=UTF-8&amp;oe=UTF-8">Haberler</A>
							&nbsp;&nbsp;&nbsp;&nbsp;
							<B><A class="q" href="http://www.google.com.tr/options/index.html">daha fazlası&nbsp;»</A></B>
							</FONT>
						</TD>
					</TR>
				</TBODY>
			</TABLE>
			<TABLE cellSpacing="0" cellPadding="0">
				<TBODY>
					<TR>
						<TD width=75>&nbsp;</TD>
						<TD align="middle">
							<SPAN id="hf"></SPAN>
							<INPUT maxLength="256" size="55" name="q" />
							<BR />
							<INPUT type="submit" value="Google Görsellerde Ara" name="btnG" />
							<INPUT type="submit" value="Kendimi Şanslı Hissediyorum" name="btnI" disabled />
						</TD>
						<TD vAlign="top" noWrap>
							<FONT size=-2>
								&nbsp;&nbsp;
								<A href="http://www.google.com.tr/advanced_search?hl=tr">Gelişmiş&nbsp;Arama</A><BR>
								&nbsp;&nbsp;
								<A href="http://www.google.com.tr/preferences?hl=tr">Tercihler</A><BR>
								&nbsp;&nbsp;
								<A href="http://www.google.com.tr/language_tools?hl=tr">Dil Ayarları</A>
							</FONT>
						</TD>
					</TR>
				</TBODY>
			</TABLE>
		</FORM>
		
		<div id="result"></div>
		
		<BR /><BR />
		<FONT size=-1>
			<A href="http://www.google.com.tr/ads/">Reklam</A> - 
			<A href="http://www.google.com.tr/services/">İşletme</A> - 
			<A href="http://www.google.com.tr/about.html">Hakkında</A>
			<SPAN id="hp" style="BEHAVIOR: url(#default#homepage)"></SPAN>
		</FONT>
		<P><FONT size=-2>©2004 Google Tasarımı</FONT></P>
	</CENTER>
	
	<script type="text/javascript">
	$(document).ready(function(){
		$('#f').submit(function(event){
			event.preventDefault();
			var q = $('input[name="q"]').val();
			
			if ( !q ){
				return;
			}
			
			$('#result').html('Yükleniyor...');
			
			$.ajax({
				type: "POST",
				dataType:"json",										
				url: 'ajax.php?q=' + q,
				success: function(msg){
					if ( msg.islemSonuc ){
						var tmpHtml = '<ul>';
						$(msg.islemMsj).each(function(key,value){
							tmpHtml += '<li> <a href="'+(value.url)+'" target="_blank"><img src="'+value.tbUrl+'" /></a> </li>';
						});
						tmpHtml += '</ul>';
						$('#result').html( tmpHtml );													
					} else {
						alert( msg.islemMsj );
					}
				}
			});
			
		});
	});
	</script>	
</BODY>
</HTML>

ajax.php – Ajax dosyamız

<?php
$tmpHTML = array('islemSonuc' => false, 'islemMsj' => 'Eksik veya hatalı işlem');

if ( isset($_GET['q']) && $_GET['q'] ){
	
	$q = urlencode( $_GET['q'] ); 
	$googleURL = 'http://ajax.googleapis.com/ajax/services/search/images?v=1.0&hl=tr&q=' . $q; 
	if ( $fileContent = file_get_contents( $googleURL ) ){
		$fileContent = json_decode( $fileContent );
		if ( isset($fileContent->responseData->results) ){
			$tmpHTML['islemSonuc'] = true;
			$tmpHTML['islemMsj'] = array();
			
			foreach($fileContent->responseData->results as $key => $value){
				$tmpHTML['islemMsj'][] = array('tbUrl' => $value->tbUrl, 'url' => $value->url);
			}
		}
	}
}

echo json_encode($tmpHTML);
?>

Uygulama Örnek Sayfası

Curl ile Google Görseller Uygulamasını İndir

Paylaş: