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) 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([url]http://opi.google[/url] .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;

….

….

….

….

….



$: ?=



aLıntıdır...

Beğeniler: 0
Favoriler: 0
İzlenmeler: 657
favori
like
share