• 26-06-2014, 13:14:46
    #1
    arkadaşlar merhaba
    	if ($kac == 100){
        $url = 'https://www.google.com.tr/search?num=500&hl=tr&lr=&q='.$kelime.'&filter=0'; 
        $v = file_get_contents_curl($url); 
         preg_match_all('/class="r"><a href=(.*?)sa/si',$v,$r);
    	foreach($r[1] as $tum){
    		$tt = str_replace('"/url?q=','',$tum);
    		$tt = str_replace('/&','',$tt);
    		$tt = str_replace('amp;','',$tt);
    	
    		$tumu [] = $tt;
    		
    	}
    bu kodlarla google arama sonuçlarını listeliyorum... Tabi kodların bir kısmı sadece bu.. şimdi sormak istediğim şu listelerken örneğin $kelime="google" olduğunu düşünelim yani google'da google kelimesini arıyorum fakat bunları sıralarken alt sayfalarınıda sıralamaya dahil ediyor. bunu bir resimle açıklamak istiyorum..

    şimdi resimde gördüğünüz kısmı şöyle listeliyor.
    1.google.com
    2.translate olan yeri
    3.adwords olan yeri listeliyo.
    halbuki bu sadece bir site yani ;
    1.google.com
    2.sıradaki site olmalı

    google.com'un alt bölümlerini listelememeli nasıl yapabilirim bunu..
    preg_match_all kısmında değişiklik yapmam gerekiyor sanırım..
    özellikle class="r" kısmında direk <h3> leri listelemesinden kaynaklanıyor gibi geliyo bunu nasıl değiştireyimki sadece ana siteleri listelesin..?
  • 26-06-2014, 15:46:01
    #2
    Üyeliği durduruldu
    preg_match_all kısmında classları temizlemen lazım.Yani mesela ana sonuçların clası neyse ona göre çekim yaptır.
  • 26-06-2014, 15:54:08
    #3
    Önce li etiketlerinin class'ı g olanları çek ve bu verilere göre işlem yap. Bu şekilde bahsettiğin verileri alabilirsin. Tavsiyem preg_match_all'a desen yazmaktansa daha kolay yol olan Simple HTML DOM Parser ile rahatlıkla bu işi halledebilirsin. Dökümanlarında gerekli bilgiler var.

    http://simplehtmldom.sourceforge.net/
  • 26-06-2014, 16:22:05
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    yada css çağır aynı classı ata
  • 26-06-2014, 16:31:29
    #5
    sizden bi ricam olabilirmi bana özelden yada buradan file_get_contents_curl fonksiyonunuzu atabilirmisiniz googlede veri çekerken bot olarak algılıyo genelde siz aşmışsınız sanırım o sorunu
  • 26-06-2014, 16:52:56
    #6
    @CodeS

    Bot algılama sorununu proxy kullanıp aşabilirsin sanırım. cURL'de bu özellik var, porta kadar ayarlayabiliyorsun. Hatta referrer, tarayıcı bilgileri gibi kısımları sürekli değiştirirsen proxy adresiyle paralel çok zor yakalaması bence, bu şekilde geliştirebilirsin.
  • 26-06-2014, 22:03:00
    #7
    arkadaşlar sölediğiniz yöntemleri denedim olmadı bir türlü

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 22:03:00 -->-> Daha önceki mesaj 22:00:04 --

    CodeS adlı üyeden alıntı: mesajı görüntüle
    sizden bi ricam olabilirmi bana özelden yada buradan file_get_contents_curl fonksiyonunuzu atabilirmisiniz googlede veri çekerken bot olarak algılıyo genelde siz aşmışsınız sanırım o sorunu
    attım
  • 26-06-2014, 22:22:29
    #8
    iyi deneme
    2. deneme de gogle search apisi olduğunu farkedip hazine bulmuş kadar sevineceksin

    sonra aslında bu hizmeti sadece belli sayıda sorgulama için verdiğini farkedip üzüleceksin.

    3. kısımda user-agent i değiştirince google kandırdığını zannedeceksin.

    4. de google ın bizden birkaç adım önde olduğunu kabul edip hizmet için google a para ödemeyi kabul edeceksin

    ah ah gençliğim geldi aklıma
  • 27-06-2014, 10:35:20
    #9
    maskidea adlı üyeden alıntı: mesajı görüntüle
    iyi deneme
    2. deneme de gogle search apisi olduğunu farkedip hazine bulmuş kadar sevineceksin

    sonra aslında bu hizmeti sadece belli sayıda sorgulama için verdiğini farkedip üzüleceksin.

    3. kısımda user-agent i değiştirince google kandırdığını zannedeceksin.

    4. de google ın bizden birkaç adım önde olduğunu kabul edip hizmet için google a para ödemeyi kabul edeceksin

    ah ah gençliğim geldi aklıma
    modele bak hiç güleceğim yoktu