Seomoz Api’Sini Kullanarak Bilgi Çeken Fonksiyon


Merhaba arkadaşlar,

Bugünkü makalemde bir fonksiyon paylaşıyorum. Şimdi SEOmoz’dan veri çekmek için hazırladığım bu fonksiyonu paylaşıyorum:


<?phpfunction seomoz($url, $accessID, $secretKey){
$Expires = mktime() + 50; // Son kullanma tarihini ayarlayalım. Min. 50 isterseniz arttırabilirsiniz
// Burada Signature elde etmek için işlemler yapıyoruz
$imzaya = $accessID."n".$Expires;
$binaryImza = hash_hmac('sha1', $imzaya, $secretKey, true);
$imza = urlencode(base64_encode($binaryImza));
// Bu da veriyi çekeceğimiz URL
$api_url = "http://lsapi.seomoz.com/linkscape/url-metrics/".$url."?AccessID=".$accessID."&Expires=".$Expires."&Signature=".$imza;
$sonuc = @file_get_contents($api_url); // İçeriği alalım
// Eğer boş dönerse veya hata alırsak başa dönelim
while($sonuc == "NULL" || !$sonuc) seomoz($url, $accessID, $secretKey);
// json_decode ile ile gelen veriyi dizilere atalım
$sonuc = json_decode($sonuc, true);
return $sonuc;
}
?>
 
Gözünüzü fazla korkutmasın arkadaşlar açıklama yarısından fazlası. Fonksiyon tamamı dokuz satırdır sadece. Şimdi bir de kullanımını gösterelim:

$json = seomoz("www.turk-php.com/","member-xxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
echo "<pre>";
var_dump($json);
echo "</pre>";
 
Bu şekilde çalıştırdığımızda ekran çıktısı aşağıdaki gibi olacaktır:
 
array(13) {
  ["fmrp"]=>
  float(3.0741889752691)
  ["fmrr"]=>
  float(6.8230103124604E-10)
  ["pda"]=>
  float(20.624589977163)
  ["ueid"]=>
  int(30)
  ["ufq"]=>
  string(18) "www.turk-php.com/"
  ["uid"]=>
  int(421)
  ["umrp"]=>
  float(4.4399377088343)
  ["umrr"]=>
  float(3.9712982973246E-10)
  ["upa"]=>
  float(27.094229777475)
  ["upl"]=>
  string(14) "turk-php.com/"
  ["us"]=>
  int(200)
  ["ut"]=>
  string(43) "Turk-PHP - Güncel Programlama Makaleleri"
  ["uu"]=>
  string(18) "www.turk-php.com/"
}
 
Farkettiğiniz
 gibi başlık Türkçe karakter problemli. Bunun sebebi json_decode() 
fonksiyonunun ISO-8859-1 ile çalışmasıdır. Bunu da şu şekilde 
çözümleyebiliriz:
 
// Verimizi çekelim
$json = seomoz("www.turk-php.com/","member-xxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
// Şimdi başlığımızı çekelim
$baslik_bozuk = $json["ut"]; // Ekran çıktısı: Turk-PHP - Güncel Programlama Makaleleri
$baslik_okay  = iconv("UTF-8", "ISO-8859-9", $baslik_bozuk); // Ekran çıktısı: Turk-PHP - Güncel Programlama Makaleleri
 
 
 
 



Yorumlar

Bu blogdaki popüler yayınlar

Corel Draw Arrange/Organizasyon Menüsü Kullanım Alanları

Corel Draw Effects Menüsü Kullanım Alanları

Corel Draw 10 Üzerinden Kullanım Anahatları - Önemli Bilgiler