Merhaba arkadaşlar sizlere bugün facebook Sayfasından son yazıları çekmek ve bunları sayfanızda listelemek ile ilgili yazı yazacağım.
ilk olarak sunucunuzda php.ini dosyanızda bulunan openssl aktif edilmesi gerekmektedir.
[php]
;extension=php_openssl.dll
[/php]
satrırındaki “;” kaldırıp opensll aktif etmeniz gerekmektedir. Facebook sayfasına curl ile istek yolladığımızda size tarayıcı istemektedir, direk istek yapmak ile sayfadan veri çekemezsiniz 🙂 . Kodları aşağıda yayınlıyorum anlamadığınız yerleri anlatabilirim aşağıdaki kodlar tamamen çalışmaktadır ve css düzenlemeleri yapılmamıştır.
[php]
<?php
header(‘Content-type: text/html; charset=utf-8’);
$url = "https://www.facebook.com/pages/Malermeister-Siebertz/121450534647951";
$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_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
$result = curl_exec($ch);
curl_close($ch);
preg_match_all(‘#<li data-side="l" data-fixed="1" data-size="1" id="tl_unit_.*?">.*?</li>#is’,$result,$gelen);
//print_r($result);
print_r($gelen);
##################
?>
[/php]
Kısaca bilmeyenler için php curl() nedir :
Kısaca CURL denen yani ( Client URL Library Functions ) kütüphanesi bir veya daha fazla sitenin farklı protokoller ile bağlantı kurarak veri iletişimi yapmasına olanak sağlamaktadır. file_get_content komutundan daha hızlı ve server´ı yormayan bir yapısı olması ve gerçek bir kullanıcı gibi hareket edebilmesinden dolayı tercih edilmektedir. Curl bazı sistemlerde direk olarak çalışmamaktadır header bilgisi göndermeniz gerekebilir bu durumlarda araştırma yaparak yada firefox header bilgisini kopyalarak curl yöntemini kullanabilirsiniz.