PHP ile içerik çeken bot yapma (Video, makale, içerik)

Birçok arkadaşımız bu konuda sıkıntı çekiyor, içerik çeken bir botu php ile yapma gerçekten abartılacak birşey değil. Zaten bunu yapabilen arkadaşlar bunu paylaşmak istemiyor, nedeni belli… Ben burada basit bir şekilde mantığını anlatacam.

Şimdi bot yazmak için phpnin temelini bir kere bilmek gerekir. Ama bunun dışında 3 temel komut bilmeniz gerekir :

  • file_get_contents : Bu komut bir sitenin içeriğinin tamamını çeker kullanımı file_get_contents("Adres"); şeklindedir
  • preg_match_all : Bu fonksiyon, 1. maddedeki fonksiyon ile çektiğimiz verileri parçalayarak istediğimiz yeri almamızı sağlar. örn kullanımı aşağıda vereceğim.
  • For döngüsü : Bununla çekilen verileri ard arda sıralayacağız bunu temel olarak bilmek gerekir zaten.

Preg_match_all kullanımı

Ne işe yaradığını yukarda anlatmıştım şimdide örnek bir kullanımını sunacağım ;
<title>Lezir Webmaster Günlüğü</title>
Burdaki title arasındaki kodları çekmek istiyorsak şu şekilde bir kullanım yaparız
$lezir = “/<title>(.*?)<\/title>/i”;
preg_match_all($lezir, $site, $ara);

Burda $site değişkeni file_get_contents() fonksiyonunu istediğimiz site ile atıyoruz bunu kolaylık olarak yapiyoruz.
Yukarda gördüğümüz (.*?) aradaki içerik ne olursa olsun çekmesini sağlar sonundaki /i ise içeriği çekerken büyük küçük harf uyumu sorununu ortadan kaldırır.
<\/title> kullanımı ise, normalde "/" preg_match_all fonksiyonunda özel bir kullanımdır. Bu yüzden işlevini bozar. Bunu engellemek için önüne " \ " koyarız.

Buraya kadar herşey tamam peki bu çektiğimiz dosyaları nasıl ekrana yansıtacağız ?
Çıktı bize dizi yani array olarak çıktı verir bunu direk olarak ekrana yansıtamayız. Burada for döngüsü devreye girer. Aşağıda örnek bir kullanım ;

for ($a=0; $a<count($ara[1]); $a++){
echo $ara[1][$a].’<br>’;
}

Bu kodda ise for döngüsünde $a değişkenini 0 atıyoruz ki baştan saymaya başlasın — Bildiğimiz gibi array (dizi)  [0] dan başlar. 0 dan başlatıp $ara’ya atadığımız değere kadar gitmesini sağlıyoruz. Sonundaki  $a++ ise her dönüşte 1 artırmasını sağlar böylece döngü 0 dan başlayıp gerek değere kadar devam eder.

Bot yazma mantığı kısaca budur, umarım açıklayıcı olmuştur birazcık.

Yazan: aLp.e
Kaynak : lezir.com, r10.net

Bu bilgiyi herkesle paylaşın :
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Twitter

5 Cevap - “PHP ile içerik çeken bot yapma (Video, makale, içerik)”

commenter

keske biraz daha detaylı videolu anlatım olsa..

commenter

açıklama güzel fakat hiç bilmeyenler için faydalı bir şey dğeil bence keşke bir örnek dosya koysanızda bizde dğeiştirerek bişiler öğrensek ama yinede teşekkürler

commenter

kardeş bunu açıklarsan bir örnekle çok makbule geçecek veya sitede açıklamak prensiblerine uymuyorsa mavis****r_80@hotmail.com mailime atarsan sana minnettar olurum.

commenter

Başlıkta “Video, makale, içerik” yazmışsınız, ancak ben makaleden başka bir şey göremiyorum..?

Admin:
Malesef siz yalnış anladınız. Başlıktaki o 3 kelimenin manası, çekilebilecek içeriğin neler olabileceğini kastettim. Yani anlatımla alakası yok eğer videolu, yazılı anlatım kastım olsaydı Video, makale ve sonunada içerik yazmazdım direk Videolu anlatım yazardım :). Yinede yorumun için teşekkürler

commenter

Herşey için teşekkürler

Cevap Bırak

Adınız (gerekli):
Mail Adresiniz (Gerekli - Yayınlanmayacak)
Website: (varsa)
Yorumla..!(required):
NoT:Buradaki HTML kodlarını kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>