webmaster:php ile başka sitelerden veri çekmek

öncelikle bu yazıyı yazmamdaki amaç başka sitelerde oluşturulan özgün içeriği alıp kopyalamayı öğretmek değil, sadece php diliyle bunu yapmanın mantığını anlatmak.Öncelikli mantık olarak veri çekmenin yolu 2 html tagı arasındaki içeriği(video,makale vs…) alıp parse işleminden sonra sağlıklı olarak veri tabanınıza atmaktır.Bunun için izlememiz gereken temel yol php curl kütüphanesinden faydalanmak ve php de regex kavramını iyi bilmektir.Aslında bunları iyice araştırıp öğrendikten sonra başka sitelerden veri çekmek çok da zor olmasa gerek.Aslında makalemde kod paylaşımı yapıp çalıntı içerik kullanılmaması taraftarıyım ancak mantığını anlamak içinde örnek kod vermenin doğru olduğunu düşünüyorum.Öncelikle kullanmanız gereken curl kütüphanesinin hostunuzda olması gerekir.phpinfo() kontroluyle curl’un hostunuzda yüklü olup olmadığını anlayabilirsiniz.Yüklü olduğundan emin olduğunuzda

function cek($url){
$ch = curl_init(); //curlu hazır hale getir
$zaman = 5;
curl_setopt ($ch, CURLOPT_URL, $url); //içeriği alan url
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $zaman); //timeoutsüresi default olarak 5
$rmx = curl_exec($ch);
curl_close($ch);

return $rmx;
}

bu kod yardımıyla curl ile veri alımını hazır hale getirebilirsiniz.


fonksiyona urlyi parametre olarak geçirip fonksiyonu çalıştırabilirsiniz.

Bundan sonra ise iki html tagı arasındaki veriyi çeken fonksiyonu çalıştırabilirsiniz.Bu fonksyonunda php kodu şu şekilde.

function arayi_al($kaynak, $ref_bas, $ref_son){
$cikti_bas=explode($ref_bas,$kaynak);
for($a=1;$a

Bu fonksiyonlardan sonra sadece bilmeniz gereken birazcık regex bilgisi.Kodları kaynak göstererek kullanabilirsiniz.İyi çalışmalar…

“webmaster:php ile başka sitelerden veri çekmek” için 6 yorum

  1. for($a=1;$a
    $cikti_son[] = explode($ref_son,$cikti_bas[$a]);

    kısmında kullandığın blockquote yazımından dolayı hata oluşmuş sanırım, for döngüsü tamamlanmış görünmüyor

  2. aynı sayfada birden fazla tablo ve ya div katmanı bulunabiliyor bunları nasıl ayırıp istediğimiz tabloyu çağırıcaz ?

  3. fonksiyonları çağıracaksın bu kadar..
    mesela arayi_al($site,$baslangıchtmltagı,$bitişhtmltagı);
    gibi bu sayede 2 html tagı arasını parse edebilirsin.
    kolay gelsin…

  4. Az çok phpden anlıyom çok şükür. ama bu kodları nasıl kullanacağımı anlamadım. daha açıklayıcı anlatsaydın daha ii olurdu sanki.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.