Google API ile Google da arama yapma
Bu yazi google da arama yaparken, arama yapilan sitelerin API larinin kullanilma yöntemini aciklamaktadir, Bu google da özgecmis,temel da arama yapabilemk ve sonra sonuclari istenen kullaniciya suanbilmektir.
Googel API bir SOAP web servisidir.SOAP(objekte bositce erisebilme protolü)bir XML schemasi.XML web üzerinden bir remote prosedürü cagirarak gerceklesir.Bizim durumumuzda bu remote prosedürü Googel arama motorudur.
Bunu basarabilmek icin gerekli birkac sey;
1) Google lisons anahtari(sifresi) :kendi sifrenizi kullanarak google web servisine girebilmek icin.Bu sifreyi alabilmek icin,Google API saysasina bakip bir account actirmaniz gerekir.Yeni kayit yaptirmak)
2) 2) Nu SOAP: PHP icin bir SOAP arackitidir. Bunun kullanmak bir SOAP servisine direct baglanmasinin zararlarindan korur.Sourceforge u yükleyin.
Bu madde de google php yaratmanin ydu anlatilacaktir.Böylelikle; API kullanmanin daha gelismis yollari gösterilecek.
API nin baska kullanilmasinin yarisira;bu maddede sadece arama konusu ele alinmistir(searcing) API reference guide I okuyunuz.
Bilinmesi gereken seyler:
Özellikle terimler ve kisitlamalari bilmek icin,ögrenmeniz gerekenler:
1) Goggle terim servisi sadece kisisel umumi olmayan kullanima acikti.
2) Sifreyle günlük 1,000 query kadar maximum bir limit vardir.
3) Es zamanli olarak yanlizca 10 sonuc ve 1,000 inci sonucu gecmeden diger sonuclara ulasamazsiniz.
4) 1 query fazla 10 terim icerebilir.
Ilk kisitlamalarla ilgili yapabilecek pek bir degisiklik olmamasina ragman. Fakat 2. madde bazi yöntemlerele degistirebilir.
Mesela, sonuclar bir dosyaya saklanirsa ayni istegi gerceklestiren baska bir kullaniciya direk hord diskter sonuc yollanabilir.Fakat ayrintilar bu yazida daha fazla verilmeyecektir.
Daha fazlasini ögrenmek icin Peor s Cochelife iyi bir baslangic olabilir.
Prosedür promoterlerinin (degisken) insasi
SOAP prosedürü icin belli 3 asama:
1) Prosedür degisiklerini belirle
2) Prosedür cagir
3) Sonuclari (islemden cikacak sonuclari)tahmin et belirle.
Ilk yapilmasi gereken parametreleri belirlemek. NUSOAP parametreleri arraylerle belirlenir. Array:C- programlama dilinde belirli bir isleme karsilik gelen degeri vermek icin kullanilir.
Degsiken setleri icin;
• sifre(key) Googleden lisans sifresi olusturmak gerekir.
• Q : Aranan terim icin kullanilir ( öndeki kücük q )
Diger degiskenler:
• start(baslangic) istenen ilk sonuc sifirdan baslatilir.Mesela ilk sonuctan itibaren Fetch? Yapmak istiyorsaniz bu deger o olur. Eger 2.sayfanin sonuclarini fetch? Edicekseniz(sayfa basinda 10) bu deger 10 olucaktir.(cünkü istediigniz snuclar 10-19 arasinda duracaktir. Yani ücüncü sayfada 20-29 arasi olacak)
• maxresults(maximum sonuclar) maximum sonuc sayisini gösterir.1 den 10 a kadar deger alir.
Bunlarin disinda belirlenebilecek bircok degisken vardir, ama bizim kullanacagimiz, amacimiza ulasmak icin yukardakiler yeterli. Bütün listeyi görmek istiyorsaniz, Google API reference sayfasini ziyaret edin.
Yani, arama yapilacak ilk sayfanin sonuclarinin “php ortides” böyle olucak:
Higlight PHP
$parameters =array ( `key´= $key,
´q = php articles,
´ start´ = 0
´ max results´=10)
Bu asamada degisken ögeler tanimlanip, araliklar belirleniyor.
Web servisinden alinan sonuclar icin:
Bu kisimda yanlizca önemli basliklar ele alicagiz.eger ilgileniyorsaniz,basitce sonuclari var_dump() yaparak baska hangi sonuclara ulasabileceginiz görebilirsiniz.
Highligt:PHP var_dump ( $ result);
,?
Elde edilen sonuclar ‘result Element’) adli array de toplanir. Yani bu array sonuc yokken bostur. Bunlari görünteyebilmek icin arrayi bir defa giirp daha sonar herbir sonuc icin kullanabilirz.
Herbir sonuc elemani asagidaki biligileri icerir;
• Url- web servisinin ‘URL’si
• Title (baslik ) web servisinin basligi
• Snippet-web servisinin iceriginin kisa bir özeti
Baska alanlar da icermesine ragmen , simdilik sadece bunlara deginmek yeterliidir.
Bunlara ek olarak; geri dönen sunlari icerir;
• searchQuery_ gerceklestirilen Arama
• estiamoted Total Results Count_ tahmini toplam sonuc
• startindex_aramasi yapilan ilk sonucun pozisyonu(örnegin,2.sayfa)
• endindex aramasi yapilan son sonucun pozisyonu
• searctime aramainin google deki süresinin saniye cinsinden degeri.
SOAP prosedürün cagirilmasi
Suana kadar, parametereleri belirledik
Artik SOAP web servisini cagirabilirz. Bunun icin NUSOAP kütüphanesi kullanacagiz.(Nu SOAP kütüphanesi, kullanicagimiz bazi terimleri icerir.
Highliht:PHP
Reguire_once (‘nusoap.ph.’);
$soap=new soapclient(http://opi.google .com ……);
$result=$ soap- call (‘ do google search’,$ porometers);
?=
Simdi yukardakileri aciklayalim:
• Google webservisinin URL si “http:// opi.google / Google.search wsdl.” Dir
• WSDL nin aciklamasi Web_ Service_Description_Language, yani WSDL, web servisinin nasil kullanilacagini , hangi prosedrlerin ulasilabilir oldugunu, ve hangi parametrelerin cagrilmasinin gerektigini tanimlar ve aciklar. Eger URL nin sayfasina gireseniz, orada XML dosyasinin tanimi ile ilgili herseyi bulabilirsniz.
• Kullanilan prosedürün adi da Google search dür.
Böylelikle; NU SOAP islemini (fonksioynunu) kullanlabilir. Hale getirmis oluruz.
Son olarak yamamiz gerekn sonuclara hakim olabilmek:
Simdi yukaradaki bilgilerle sonuclari (output) görüntüleyebiliriz:
Higlight:PHP
$ num Result 0 cant ($ result[ result elements ];
.
..
….
…..
……
?=
Ve bütün yapilacaklar tamamlamis oldu
Simdi bunlari kendi Google fonterd(önbitis) imiz icin birlestirebilirsiniz.Bu dosya bizim google.php dosyamiz olucak.
YENI Bir Google Fronted (önbitis) yaratmak:
Önceden olusturulmus asamalardaki kodlarla Google frosted olusturabiliriz.
Baslica degisiklikler sunlardir; Formdan arama terimin icerdigi Kod olusturulacak ve bununla birlikte ilk sayfa haric digger sayfalarin dönüsü saglanak.
Ek olarak;” ben sansliyim “ yani I’m Feeling Lucky” kodu girilecek. Google bunu kendi ana sayfasinda bulundurmaktadir. Bunun amaci sonuclari göstermek yerine bulunan ilk web sitesine otomatic olarak ziyaret etmek.
Bütün kodlari google.php dosyasiyla atabilirsiniz.
Unutmyain ki bu oldukca basit bir islemdir bundan baska bir cok yapilabilicek islem vardir.
Hight.PHP
$ key= ‘your google liceude key’s;
….
….
….
….
….
…
$: ?=
SONUC:
Bu makalede; SOAP servisini kullanarak Googel da arama yapmak icin kullanisli bir arac olan Google API nin kullanilisini ögrendik.
Biz sadece API ‘nin temel ögelerine degindik.
Fakat API nin bizim örnegimizden fazla bilgi icin kullanilabilecegini bilmek faydali olabilir.
Bütün bunlara ek olarak; imla araci olarak ve websitelerini fetch? Etmek icin baska prosedürlerde bulunmaktadir.
Ayrica PHP 5 in dogal SOAP destegio veren bir SOAP uzantisi olgunu söylemekte
Yarar var. Bunun icin kodu uyumlu hale getirmeye calisabilirsiniz.
Türkçe Çeviri By ; w0rm // Cyber-Warrior
SAYGILARIMLA..