PHP curl birçok sayfayı yazdırma işlemi

Tabiki yapabilirsiniz. Asagidaki yazdigim kod ornegini inceleyebilirsiniz. Asagida yazdigim kod, technopat.net anasayfasinda one cikan haberlerin basliklarini cekip ekrana yazdiran bir kod ornegi. Bundan esinlenerek kendi amaclariniz icin kodu degistirebilirsiniz.

[CODE lang="php" title="php curl ile web sayfalarindan belirli verileri cekme"]<?php

// gonderilen url yi curl ile cekip, sonuclari donen bir fonksiyon tanimliyorum.
function sayfayiCek($url)
{
$user_agent = 'Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0';

$secenekler = [
CURLOPT_USERAGENT => $user_agent,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_AUTOREFERER => true,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_TIMEOUT => 30,
CURLOPT_MAXREDIRS => 20
];

$ch = curl_init($url);
curl_setopt_array($ch, $secenekler);
if (preg_match("/^https/", $url)) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
$icerik = curl_exec($ch);
$hata_kodu = curl_errno($ch);
$hata_mesaji = curl_error($ch);
$sonuc = curl_getinfo($ch);
curl_close($ch);
$sonuc['hata_kodu'] = $hata_kodu;
$sonuc['hata_mesaji'] = $hata_mesaji;
$sonuc['icerik'] = $icerik;
return $sonuc;
}

// yukarida tanimladigim fonksiyon ile technopat.net anasayfasini $sayfa degiskenine cekiyorum.
$sayfa = sayfayiCek('https://www.technopat.net/');


// bu sirada bir hata olustuysa ekrana hata mesaji bastiriyorum
if ($sayfa['hata_kodu'] != 0 || $sayfa['http_code'] >= 300 || $sayfa['http_code'] < 200) {
echo "<h1>Bir hata olustu!</h1>";
exit;
}

// ufak bir regexp ile anasayfadaki one cikan haber basliklarini ayiklayip, bir diziye atiyorum.
preg_match_all("/rel=\"bookmark\"[^>]+>(?P<son_haberler>[^<]+)</", $sayfa['icerik'], $eslesmeler);

// bulunan tum eslesmeleri ekrana bastiriyorum.
echo '<pre>';
print_r($eslesmeler['son_haberler']);
echo '</pre>';[/CODE]
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı