• 25-02-2017, 17:20:23
    #1
    merhabalar;

    https://www.mgm.gov.tr/tahmin/il-ve-...n&ilce=Akdeniz sitesinden içerik çeken bir bot hazırlamaya çalışıyorum ama hazırladığım crul fonksiyonu boş içerik dönderiyor sizce nerede hata yapıyorum?

    function curl($url, $post=true)
    {
        $user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6';
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, $post ? true : true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post ? $post : true);
        curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
        $icerik = curl_exec($ch);
        curl_close($ch);
        return $icerik;
    }
    echo curl("https://www.mgm.gov.tr/tahmin/il-ve-ilceler.aspx", "il=Mersin&ilce=Akdeniz");
  • 26-02-2017, 00:06:25
    #2
    Merhabalar,

    <?php
    function html($url,$post=FALSE){
    	$ch = curl_init();
    	curl_setopt($ch, CURLOPT_URL, $url);
    	if($post){
    		curl_setopt($ch,CURLOPT_POSTFIELDS, $post);
    		curl_setopt($ch, CURLOPT_POST, 1);
    	}
    	else{
    		curl_setopt($ch, CURLOPT_POST, 0);
    	}
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    	curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    	curl_setopt($ch, CURLOPT_HEADER, TRUE);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    	curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/8.0.7 Safari/600.7.12");
    	$html = curl_exec($ch);
    	return $html;
    }
    
    echo html("https://www.mgm.gov.tr/tahmin/il-ve-ilceler.aspx?il=Mersin&ilce=Akdeniz");
    Bu şekilde gerçekleştirebilirsiniz.
  • 26-02-2017, 17:16:40
    #3
    <?php
    
    $curl = curl_init();
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://www.mgm.gov.tr/tahmin/il-ve-ilceler.aspx?il=Mersin&ilce=Akdeniz",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 30,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "GET",
      CURLOPT_HTTPHEADER => array(
        "cache-control: no-cache",
        "postman-token: 8b759c86-8879-de35-2f23-08126166ece3"
      ),
    ));
    
    $response = curl_exec($curl);
    $err = curl_error($curl);
    
    curl_close($curl);
    
    if ($err) {
      echo "cURL Error #:" . $err;
    } else {
      echo $response;
    }
    bu sekildede html ciktisini $response degiskenine atayabilirsiniz.
  • 26-02-2017, 17:53:24
    #4
    aliosmanyuksel adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    <?php
    function html($url,$post=FALSE){
    	$ch = curl_init();
    	curl_setopt($ch, CURLOPT_URL, $url);
    	if($post){
    		curl_setopt($ch,CURLOPT_POSTFIELDS, $post);
    		curl_setopt($ch, CURLOPT_POST, 1);
    	}
    	else{
    		curl_setopt($ch, CURLOPT_POST, 0);
    	}
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    	curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    	curl_setopt($ch, CURLOPT_HEADER, TRUE);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    	curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/8.0.7 Safari/600.7.12");
    	$html = curl_exec($ch);
    	return $html;
    }
    
    echo html("https://www.mgm.gov.tr/tahmin/il-ve-ilceler.aspx?il=Mersin&ilce=Akdeniz");
    Bu şekilde gerçekleştirebilirsiniz.
    hocam verdiğiniz kodlarda benim fonksiyonda olduğu gibi boş beyaz sayfa dönderdi.

    enourmous adlı üyeden alıntı: mesajı görüntüle
    <?php
    
    $curl = curl_init();
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://www.mgm.gov.tr/tahmin/il-ve-ilceler.aspx?il=Mersin&ilce=Akdeniz",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 30,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "GET",
      CURLOPT_HTTPHEADER => array(
        "cache-control: no-cache",
        "postman-token: 8b759c86-8879-de35-2f23-08126166ece3"
      ),
    ));
    
    $response = curl_exec($curl);
    $err = curl_error($curl);
    
    curl_close($curl);
    
    if ($err) {
      echo "cURL Error #:" . $err;
    } else {
      echo $response;
    }
    bu sekildede html ciktisini $response degiskenine atayabilirsiniz.
    hocam sizin fonksiyonda cURL Error #:SSL certificate problem: self signed certificate in certificate chain hatası verdi ssl sertifikası olan sitelere curl ile bağlanılmıyor mu?
  • 26-02-2017, 17:59:46
    #5
    Cekeceginiz sayfayi iletirseniz testini kendim yapip size gondereyim kodu.
  • 26-02-2017, 18:37:11
    #6
    enourmous adlı üyeden alıntı: mesajı görüntüle
    Cekeceginiz sayfayi iletirseniz testini kendim yapip size gondereyim kodu.
    https://www.mgm.gov.tr/tahmin/il-ve-...n&ilce=Akdeniz sayfasından içerik çekmeye çalışıyorum hocam
  • 26-02-2017, 18:39:59
    #7
    VeLi33 adlı üyeden alıntı: mesajı görüntüle
    https://www.mgm.gov.tr/tahmin/il-ve-...n&ilce=Akdeniz sayfasından içerik çekmeye çalışıyorum hocam

    Skype eklersen sende niye calismiyor bir bakayim hocam