• 10-02-2015, 19:23:24
    #1
    Cümleten Selamun Aleykum;

    Arkadaşlar hayırlı günler diler sorunuma geçmek isterim.

    Şimdi bir hava durumu botu yaptık sitemize ancak sitemde başka bir curl bilgisi daha var. hangisini aktif edersem edeyim site açılmıyor.

    <?php
      $zemin = siteConnect('http://www.mgm.gov.tr/tahmin/il-ve-ilceler.aspx?m=ANKARA');
       
     function siteConnect($hava)
      {
      
      $ch = curl_init();
      $hc = "YahooSeeker-Testing/v3.9 (compatible; Mozilla 4.0; MSIE 5.5; Yahoo! Search - Web Search)";
      curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com');
      curl_setopt($ch, CURLOPT_URL, $hava);
      curl_setopt($ch, CURLOPT_USERAGENT, $hc);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      $hava = curl_exec($ch);
      curl_close($ch);
       
      // Veriyi parçalama işlemi
      preg_match_all('@<em class="renkMax">(.*?)</em>@si',$hava,$veri_derece1);
    
     
    
    
    ?>
    
      <div class="borsabaslik"> ANKARA <?php echo $veri_derece1[0][0]; ?></div>
    
    
     
     <?
      }
     ?>

    bu kod çalışıyor ve ben sonuc alıyorum ancak bunun yanında istanbul ve izmiride çekmek istediğim zaman ? 2. bir sayfamı lazım veya multicurl gibi bir kodlamamı lazım ( hoş ben kullanamadım )

    Ayrıca ben bu hava botunun çalıştığını harici bir sayfadan kontrol ettim.

    Sitemi açmak istediğim zaman ( dolar kurunu çeken curl ile ) çakışma yaşıyorum.


     $giris = siteConnect('http://www.xxxx.com/');
       
     function siteConnect($site)
      {
      
      $ch = curl_init();
      $hc = "YahooSeeker-Testing/v3.9 (compatible; Mozilla 4.0; MSIE 5.5; Yahoo! Search - Web Search)";
      curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com');
      curl_setopt($ch, CURLOPT_URL, $site);
      curl_setopt($ch, CURLOPT_USERAGENT, $hc);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      $site = curl_exec($ch);
      curl_close($ch);
       
      // Veriyi parçalama işlemi
      preg_match_all('@<li class="Dolar">(.*?)</li>@si',$site,$veri_derece1);
      preg_match_all('@<li class="Euro">(.*?)</li>@si',$site,$veri_derece2);
      preg_match_all('@<li class="Bist">(.*?)</li>@si',$site,$veri_derece3);
      preg_match_all('@<li class="Altin">(.*?)</li>@si',$site,$veri_derece4);  
    
    }
    buda bilgi çektigim ikinci site.

    şimdi benim bu 2 curl kodum birbiri ile çakışıyor...

    Bilgi ve tecrübelerinize ihtiyacım var arkadaşlar.

    Teşekkür Ederim.


    Not : Değişkenleri değişmeme rağmen çakışma var onu belirteyim yani $giriş ve $site değişkenleri iki kere kullanılmadı. kodların orjinalini yapıştırdım.
  • 10-02-2015, 23:28:53
    #2
    Değiştiğin değişkenler bir işe yaramaz, şöyle yapmalısın.

    1.cURL : $ch = curl_init();
    2.cURL : $cq = curl_init();
  • 11-02-2015, 10:57:54
    #3
    s.a

    bir tane curl fonksiyonu oluştur ve bu fonksiyon sadece o curl ile gelen veriyi döndürsün. veri ayıklama işlemlerini de fonksiyon dışında yap. o zaman düzelir.

    ayrıca hava durumları için yazdığım class'ı da kullanabilirsin. Konuya buradan ulaşabilirsin. WorldWeatherOnline.Com üzerinden API ile verileri çekmektedir.
  • 13-02-2015, 20:24:40
    #4
    abi süpersiniz ikinizin bilgiside işime yaradı. teşekkür ederim.