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]