• 05-10-2013, 23:35:05
    #1
    Merhabalar,
    Bugün sizlere Google'da bir arama yaparken otomatik tamamlama sitemi ile gelen değerleri almayı anlatacağım. Otomatik tamamlama sistemi arama kutusuna bir kelime yazdığınızda Google'da daha önce bu kelime ile aranan sorguları en çok arananlar olarak listeler.

    Öncelikle bu işlemde dönen değerleri almak için API sistemi gibi CURL veya file_get_contents fonksiyonlarıyla veriyi getireceğiz. Şu bağlantıdan dönen veri otomatik tamamlamada kullanılan değerler olacaktır.
    http://clients1.google.com/complete/search?output=toolbar&hl=tr&q={sorgu}
    {sorgu} bölümüne aramanın yapılacağı metini gireceksiniz. Unutmayın bu bir sorgu formatında olacağından =," gibi işaretleri uygun bir şekilde çevirmeniz gerek. Bunu anlatamayacağım maalesef hazırda konmayıp kendiniz yapın Ayırca arama yapılacak dil görüldüğü üzere "hl" değişkenine bağlıdır. Ben tr olarak belirledim yani Türkçe dizininde arama sorgularına bakıp bize gönderecek.

    Örnek olarak file_get_contents ile değeri alıp bunu preg_match_all ile sadece sorgu metinlerini alıp ekrana yansıtma işlemini ben şu şekilde yaptım:
    <?php
    // Powered by exselansTR
    $data=file_get_contents('http://clients1.google.com/complete/search?output=toolbar&hl=tr&q=test');
    preg_match_all('/\<suggestion data\=\"(.*?)\"\/\>/',$data,$get);
    print_r($get[1]);
    ?>
    Ekran çıktımız:
    Array
    (
        [0] => testere
        [1] => test çöz
        [2] => testere 7
        [3] => testler
        [4] => test
        [5] => testere 6
        [6] => testere 1 izle
        [7] => testere 2 izle
        [8] => testere 5
        [9] => testere 4 izle
    )
    Eğer biraz PHP bilginiz varsa bu dönen değerleri foreach gibi bir fonksiyon ile etiket sistemine kolaylıkla çevirebilirsiniz. Benden bu kadar çünkü daha fazla anlatmak istemiyorum bu sistemi yapıp ücretli olarak yayınlayan çok kişi olduğundan onları işinden etmeyelim.

    Kolay gelsin, Anılcan Ç. (exselansTR)
    Makale bağlantısı: Google otomatik tamamlamada gelen değerleri almak (Etiketçi mantığı)
  • 05-10-2013, 23:45:25
    #2
    Güzel paylaşım
  • 06-10-2013, 23:19:12
    #3
    mantıklı bir çalışma
  • 07-10-2013, 09:26:57
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Paylaşımın için teşekkürler Anılcan
  • 07-10-2013, 09:41:04
    #5
    Ellerine sağlık çok güzel paylaşım .
  • 07-10-2013, 11:06:52
    #6
    Üyeliği durduruldu
    Yararli paylasim tesekkurler

    GT-I9100 cihazımdan Tapatalk 2 ile gönderildi
  • 07-10-2013, 12:08:57
    #7
    Üyeliği durduruldu
    Güzel konuymuş... Peki Türkçe karakterli kelime ararken ortaya çıkan hatayı nasıl giderebiliriz

    Dosyanın başında

    Alıntı
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    ve verdiğiniz kodların başında da

    Alıntı
    header("Content-Type: text/html; charset=utf8");
    bilgileri bulunuyor. Buna rağmen Türkçe karakterlerde hata veriyor
  • 07-10-2013, 12:26:43
    #8
    yazarcizer adlı üyeden alıntı: mesajı görüntüle
    Güzel konuymuş... Peki Türkçe karakterli kelime ararken ortaya çıkan hatayı nasıl giderebiliriz

    Dosyanın başında



    ve verdiğiniz kodların başında da



    bilgileri bulunuyor. Buna rağmen Türkçe karakterlerde hata veriyor
    utf 8 bomsuz olarak kodlamayı denermisin ?
  • 07-10-2013, 12:27:46
    #9
    Üyeliği durduruldu
    XFQ adlı üyeden alıntı: mesajı görüntüle
    utf 8 bomsuz olarak kodlamayı denermisin ?
    Onu da denedim zaten ama işe yaramadı malesef