08
Oca

PHP Curl Uygulaması - Nöbetçi Eczane


Kendi uygulamamda kullanmak için nöbetçi ezcane html kodu bulmam gerekiyordu ama hiç bir yerde bulamadım, curl ugulamaları araştırdım onu da bulamdım :) oturdum kendim yazmaya çalıştım öneclikle nöbeçi eczaneleri sunan ir site bulmaktı ben antalyanın gazipaşa ilçesi için kullanıcaktım http://www.antalyaeo.org.tr/?p=nobetciy&s=3 bu siteyi buldum oldukca güzel bir site burada antalyanı  tüm ilçelerini sunmaktadır fakat bana sadece gazipaşa olan lazımdı bunuda preg_match_all kumutu ile parçaladım fakat şöyle bir sorun oldu bir ilçeden 4 nöbetçi eczane varsa oluyor fakat 5 olınca kayma yapıyordu antalyaeo sitenin güzel özelliği post ederek sadec istediğiniz ilçeyi getiriyor bunu görürdüm ve olay bu dedim :) burdan yola çıakrak yazdım şimdi kodlara gelelim öncelikle her alanda kullancağımız için fonction yazmak daha mantıklı :


function curl($url, $post=false)
{ $user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, $post ? true : false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post ? $post : false);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
$icerik = curl_exec($ch); curl_close($ch); return $icerik; }
 
bu fonkiyonumuz isteğe bağlı post da yapabilmektedir. sitenin gönderdiği postları buldum yani input değerleri onlarda şular tarih1 ,tarih2, oku, ilce_aktif, bu post değerleri bunların karşılılarını alarak sağ tıkla öge denetle yaparak bulabilirsiniz. buldukdan sonra kodlarımız bu post değerlerini get gibi gönderiyoruz ve gelen cevabı parçalıyoruz preg_match_all komutunu kullanrak istediğimiz alanı alabiliriz.

$baglan = curl("http://www.antalyaeo.org.tr/?p=nobetciy&s=3", "tarih1=".date("d-m-Y")."&tarih2=".date("d-m-Y")."&oku=6&ilce_aktif=aktif"); preg_match_all('@(.*?)@si',$baglan,$adi);
echo "Eczane Adı : ". $adi[1][0];

Print_r ile ile tüm diziyi görebilirssiniz.

print_r($adi);


blog author image
Kapital Medya Hizmetleri A.Ş
Sofware Developer
Web Yazılım Geliştirme