Örnek veriyorum elimde şöyle bir kod var
<?php
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('@<td id="timeImsak" class="pTime">(.*?)</td>@si',$site,$imsak);
preg_match_all('@<td id="timeGunes" class="pTime">(.*?)</td>@si',$site,$gunes);
preg_match_all('@<td id="timeOgle" class="pTime">(.*?)</td>@si',$site,$ogle);
preg_match_all('@<td id="timeIkindi" class="pTime">(.*?)</td>@si',$site,$ikindi);
preg_match_all('@<td id="timeAksam" class="pTime">(.*?)</td>@si',$site,$aksam);
preg_match_all('@<td id="timeYatsi" class="pTime">(.*?)</td>@si',$site,$yatsi);
echo "İmsak: ".$imsak[0][0]."<br />";
echo "Güneş: ".$gunes[0][0]."<br />";
echo "Öğle: ".$ogle[0][0]."<br />";
echo "İkindi: ".$ikindi[0][0]."<br />";
echo "Akşam: ".$aksam[0][0]."<br />";
echo "Yatsı: ".$yatsi[0][0]."<br />";
}
$giris = siteConnect('http://www.namazvakti.com/Main.php?cityID=61711');
?>
Bu kod calısıyor ancak bunu baska bir site için uyarladığımda;
<?php
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_SSL_VERIFYPEER, false);
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('@<div id="quotes_summary_current_data" class="instrumentDataFlex">(.*?)</div>@',$site,$ruble);
echo "Usd TO Ruble: ".$ruble[0][0]."<br />";
}
$giris = siteConnect('https://tr.investing.com/currencies/usd-rub');
?>
Çalışmıyor.buraya o ruble fiyatının yanındaki div değerlerini verdim ama orayı çekmıyor bunun baska bir mantıgı mı var?
Php Curl İle İçerik Çekme,Ben olayı yanlış mı anlamışım?
4
●616
- 31-07-2018, 22:39:22Basitce debugging yapın. Önce $site değişkenini ekrana yazdırıp deneyin, siteden veri geliyor mu. Geliyorsa print_r ile preg_match_all ifadesini ekrana yazdırı. Parçalama işlemi gerçekleşiyor mu. daha sonra .$ruble[0][0] kısmına bakın, $ruble değilkeni iç içe 2 arraydan oluşmuyor olabilir.
- 31-07-2018, 22:43:48
- 31-07-2018, 22:51:31Üyeliği durdurulduvar_dump($ruble); sorunu düzeltti teşekkür ederim.
çıkan sonuçta
[1]=> string(127)
gibi ifadeler yer alıyor bunuda deneye deneye çözecez artık.
BatuhaNN adlı üyeden alıntı: mesajı görüntüle - 04-08-2018, 15:17:58Kimlik doğrulama veya yönetimden onay bekliyor.hocam Curl ded.ğimiz şey Ws(web servis) dir. Yani o site senin kodlarına karşılık kod yazmıştır. Bi WS i her sitede kullanamazsın. Her sitenin kendine has bir WS i vardır. Çoğu WS de şifreli olup sadece müşterisine özeldir.
Anlamadığın bişey varsa yazarsın, iyi çalışmalar.