• 15-03-2016, 08:52:44
    #1
    Arkadaşlar merhabalar,


    oddsportal.com adlı siteden oranları çekmek istiyorum. fakat örneğin " http://www.oddsportal.com/soccer/afr...-2015/results/ " linke girerseniz oradaki maçların olduğu kısmı çekemiyorum. Oradaki diğer herşeyi çekebiliyorum preg_match_all ile fakat oranların olduğu kısmı çekemiyorum.

    Kullandığım preg_match_all :
    preg_match_all('@@',$takimlar,$yeni);
    Not : '@@Buraya gelen ekler' si,smi,siU,is, vs herşeyi denedim olmadı.



    Resimde görülen kısımdaki hiç birşeyi çekemiyorum . Diğer herşeyi çekebiliyorum o sayfadaki.

    Araştırdığımda o sayfa da ( Chrome kullanıyorum ) herhangi bir maçın üzerine geldiğimde Sağ tık incele dediğimde preg_match_all 'a yazacağım kodu görüyorum. fakat o sayfada " Kaynağı Görüntüle " dediğim zaman Kırmızıyla işaretlediğim veriler kaynakta görüntülenmiyor. Bu sebeple bana gelen döngü boş oluyor diye tahmin ediyorum. Yorumlarınız nelerdir?


    Teşekkürler
  • 15-03-2016, 10:11:03
    #2
    ajax ile istek yolluyor istek yolladığı sayfa aşağıda json decode ile çözüp sonuç alırsınız
    http://fb.oddsportal.com/ajax-sport-...oIyB/X0/1/1/1/
  • 15-03-2016, 17:16:18
    #3
    Hocam Teşekkürler cevap için.

    Ben sizin bulduğunuz bu linki nasıl bulabilirim acaba?

    teşekkürler tekrardan.


    Ek :

    $url        = 'http://fb.oddsportal.com/ajax-sport-country-tournament-archive/1/fooPoIyB/X0/1/1/1/'; 
    
    $urlHandle     = _fwrite(http_request($url)); // Veriyi txt'e yazdir 
        
    $datam        = file_get_contents('json.txt');  
    
    $data        = json_decode(fix_json_format($datam)); 
    
    print_r($data);  
    
    function _fwrite($data) 
    { 
        $file    = fopen('json.txt','w'); 
        fwrite($file,fix_json_format($data)); 
        fclose($file); 
    } 
    
    function http_request($url){  
      $ch = curl_init($url);  
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
      curl_setopt($ch, CURLOPT_HEADER, 0);  
      $data = curl_exec($ch);  
      curl_close($ch);  
      return $data;  
    }  
    
    function fix_json_format($json){  
          
        $a = preg_replace('/\,\s?([a-zA-Z0-9]+)\:/i',',"${1}":',$json);  
        $a = preg_replace('/\{([a-zA-Z0-9]+)\:/i','{"${1}":',$a);  
        $a = preg_replace('/[\n\r]+/','',$a);  
        $a = str_replace('\'', '"', $a); 
        $a = str_replace('  ', '', $a); 
         
        $res = fix_blank_comas($a);  
          
        return $res;  
          
    }  
    
    function fix_blank_comas($str){  
        $go=87;  
        for($i=0;$i<$go;$i++){  
            $str = str_replace(',,',',"",',$str);  
        }  
        return $str;  
    }
    Bu şekilde decode yapmak istediğimde veriyi txt dosyasına çekiyor fakat oradan decode yapıp ekrana vermiyor veriyi. Bunu nasıl yapabilirim sorun nerede acaba?
  • 15-03-2016, 21:37:57
    #4
    mozillada live http headers adlı eklenti ile arka plandaki işlemleri görebilirsiniz
    Yukarıdaki veride decode kullanmaya gerek yok ona dikkat etmedim zaten tek sonuç dönüyor \ temizletip preg_match_all ile istedğiniz sonuçları döndürebilirsiniz