Merhabalar,
bu adresdeki nöbetci eczaneleri almak istiyorum ama file_get_contents ile bağlandığım da sayfanın kaynak kodlarını alamadım kendi tarayıcımdan bağlanıncada kaynak kodlarını görüntülemiyor crul fonksiyonuyla bu sayfanın kaynak kodlarına nasıl ulaşabilirim acaba?
nöbetçi eczane botu
7
●2.131
- 18-10-2016, 13:07:11
function curl($url) { $user_agent = 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt ($ch, CURLOPT_REFERER, $url); $icerik = curl_exec($ch); curl_close($ch); return $icerik; } $html = curl('http://www.mersineczaciodasi.org.tr/Nobet'); - 18-10-2016, 13:32:26kardeş verdiğin kodda print_r yapınca sayfadaki eczaneleri almıyor yani başkabir sayfanın kaynak kodu çıkıyor.sewakldawk adlı üyeden alıntı: mesajı görüntüle
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:32:26 -->-> Daha önceki mesaj 13:23:10 --
sayfaya browser den bağlanınca:

crul ile çıktı:

browser ile bağlanınca yada crul ile yazdırdığım sayfanın kaynağını görüntüle dediğim zaman eczanelerin listesini göremiyorum crul a parametre girmemiz gerekiyor gibi. - 18-10-2016, 15:03:37Pardon hocam, kontrol edememiştim,VeLi33 adlı üyeden alıntı: mesajı görüntüle
http://www.mersineczaciodasi.org.tr/...-18&get_param=
Bu sayfayı çekeceksiniz. JSON formatında geliyor. Tarih parametresini de NobetTarih olarak ayarlarsınız.
json_decode fonksiyonuyla object veya array'e çevirebilirsiniz. - 18-10-2016, 23:44:55kardeş çok teşekkür ederim çok kolay oldu bu işsewakldawk adlı üyeden alıntı: mesajı görüntüle
script deki en basit kısım oldu.
)
hazırladığım kodları paylaşayım bari belki işine yarayan olur:
$tarih = date("Y-m-d"); function curl($url) { $user_agent = 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt ($ch, CURLOPT_REFERER, $url); $icerik = curl_exec($ch); curl_close($ch); return $icerik; } $html = curl('http://www.mersineczaciodasi.org.tr/Nobet/NobetListesi?NobetTarih='.$tarih.'&get_param='); $adi = '@"eczane_adi": "(.*?)"@si'; $ilce = '@"ilce": "(.*?)"@si'; $adres = '@"adres": "(.*?)"@si'; $telefon = '@"telefon1": "(.*?)"@si'; $saat1 = '@"nobet_baslangic_tarihsaat": "(.*?)"@si'; $saat2 = '@"nobet_bitis_tarihsaat": "(.*?)"@si'; preg_match_all($adi, $html, $adi); preg_match_all($ilce, $html, $ilce); preg_match_all($adres, $html, $adres); preg_match_all($telefon, $html, $telefon); preg_match_all($saat1, $html, $saat1); preg_match_all($saat2, $html, $saat2); $say = count($adi[1]); $i=0; while ($i < $say) { echo $adi[1][$i]." ".$i."<br>"; $i++; } - 18-10-2016, 23:51:51VeLi33 adlı üyeden alıntı: mesajı görüntüle
ne demek hocam
çok daha basit bir yolunu da paylaşmak isterim;
$html = curl('http://www.mersineczaciodasi.org.tr/Nobet/NobetListesi?NobetTarih='.$tarih.'&get_param='); $json = json_decode($html, true); foreach($json as $index => $data) { echo $data['eczane_adi'].'. '.($index+1).'<br />'; }$data['telefon1'] telefon numarası,
$data['telefon2'] 2. telefon numarası,
$data['adres'] adres gibi, gelen JSON'daki değişken adlarına göre veri alabilirsiniz. - 19-10-2016, 17:20:31aynen bu daha kolay alıyormuş peki
http://www.mersineczaciodasi.org.tr/...-19&get_param=
şeklindeki uzantıya nasıl ulaştınız ?


script deki en basit kısım oldu.
konuyuda hortlattık ama