• 22-12-2021, 10:38:46
    #1
    Merhaba.

    Kendimi geliştirmek adına eczane botu yazmaya çalışıyorum. Eczaneler gen tr üzerinden almaya çalışıyorum içeriği ancak ne yaptıysam veriyi çekip print edemedim.

    <?php
    //* HABER BOTU *//
    $formdangelen = 'https://www.eczaneler.gen.tr/nobetci-istanbul-beylikduzu';
    $site       = file_get_contents(''.$formdangelen.'');
    // BAŞLIK
    preg_match_all('@<div class="col-lg-6">(.*?)</div>@si',$site,$baslik_al);
    
    
    
    //$baslik       = $baslik_al[1][0];
    
    echo "<pre>";
    print_r($baslik_al);
    echo "</pre>";
    
    ?>
    Başka bir link ile başka bir konuyu çekiyorum. Ancak eczaneler gen tr den alamadım. Yarımdıcı olabilecek var mı?

    Teşekkür ederim.
  • 22-12-2021, 11:52:04
    #2
    Site cloudfire kullandığı için file_get_contents ile gönderdiğini isteğeilk açılışta cloudfire içeriği dönüyor veya içerik dönmesine izin verilmiyorda olabilir.
    CURL kullanarak çözmeye çalıştım umarım işine yarar.

    $formdangelen = 'https://www.eczaneler.gen.tr/nobetci-istanbul-beylikduzu';
    $options = [
    CURLOPT_URL => $formdangelen,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_HTTPHEADER => [
    'accept: application/json, text/plain, */*',
    'Accept-Language: en-US,en;q=0.5',
    'x-application-type: WebClient',
    'x-client-version: 2.10.4',
    'Origin: https://www.googe.com',
    'user-agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0',
    ]
    ];

    $ch = curl_init();
    curl_setopt_array($ch, $options);
    $result = curl_exec($ch);
    curl_close($ch);


    // BAŞLIK
    preg_match_all('@<span class="isim">(.*?)</span>@si', $result, $baslik_al);



    //$baslik = $baslik_al[1][0];

    echo "<pre>";
    print_r($baslik_al);
    echo "</pre>";

  • 22-12-2021, 11:57:51
    #3
    salihbey24 adlı üyeden alıntı: mesajı görüntüle
    Site cloudfire kullandığı için file_get_contents ile gönderdiğini isteğeilk açılışta cloudfire içeriği dönüyor veya içerik dönmesine izin verilmiyorda olabilir.
    CURL kullanarak çözmeye çalıştım umarım işine yarar.

    $formdangelen = 'https://www.eczaneler.gen.tr/nobetci-istanbul-beylikduzu';
    $options = [
    CURLOPT_URL => $formdangelen,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_HTTPHEADER => [
    'accept: application/json, text/plain, */*',
    'Accept-Language: en-US,en;q=0.5',
    'x-application-type: WebClient',
    'x-client-version: 2.10.4',
    'Origin: https://www.googe.com',
    'user-agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0',
    ]
    ];

    $ch = curl_init();
    curl_setopt_array($ch, $options);
    $result = curl_exec($ch);
    curl_close($ch);


    // BAŞLIK
    preg_match_all('@<span class="isim">(.*?)</span>@si', $result, $baslik_al);



    //$baslik = $baslik_al[1][0];

    echo "<pre>";
    print_r($baslik_al);
    echo "</pre>";

    Çok teşekkür ederim. İşime yarayacak.