Merhabalar, Bu yazımızda PHP ile bot yazacağız. Php ile bot yapmak için birden çok yol mevcuttur. Bu yazıda get_contents yöntemiyle bot yapımını anlatmaya çalışacağım.
Bir test olarak basit bir sayfada bot oluşturduk. Bunun için yabancı bir web sitesi seçtim. OCA
Sorun yaratmaması için elimizdeki verileri strtolower fonksiyonu ile küçük harfe çevriyoruz
$content değişkeni içinden verilerimizi seçeceğiz. Bunun için istediğimiz verinin nerede olduğuna bakıyoruz. Bizim verimiz class=”scriptureheader”> kodlarından sonra başlıyor
Başlangıç ve bitiş pozisyonlarında boşluk olmaması bizim için önemli, bu duruma dikkat etmez iseniz hatalara seep olabilir. Normal ifadeler içeren kodlar yerine “strpos” komutunu kullanmanızı tavsiye ederim. Get_Contents yöntemiyle veri çektik, br sonraki derste ise curl kütüphanesi kullanarak bot / örümcek yapmayı anlatacağım.
Bir test olarak basit bir sayfada bot oluşturduk. Bunun için yabancı bir web sitesi seçtim. OCA
Code:
//Şimdi bir bağlantı yaratıyoruz
$handle = fopen ("http://www.oca.org/Reading.asp?SID=25" , "r");
//Sayfanın içeriğini çekiyoruz.
$contents = stream_get_contents($handle);
//Verileri aldık bağlantıyı kapatıyoruz
fclose($handle);
Sorun yaratmaması için elimizdeki verileri strtolower fonksiyonu ile küçük harfe çevriyoruz
Code:
$contents = strtolower($contents);
$content değişkeni içinden verilerimizi seçeceğiz. Bunun için istediğimiz verinin nerede olduğuna bakıyoruz. Bizim verimiz class=”scriptureheader”> kodlarından sonra başlıyor
Code:
$start = 'class="scriptureheader">';
//Veri içerisinde istediğimiz verinin nerede olduğunu strpos ile buluyoruz
$start_pos = strpos($contents, $start);
//Verinin nerde başladığını buluyoru (Öncesini temizlemek için)
$first_trim = substr($contents, $start_pos);
//Verinin nerede bittiğini buluyoruz html kodlarından
$stop = '</table>';
//Bitiş kodunun pozisyonunu yine strpos ile buluyoruz
$stop_pos = strpos($first_trim, $stop);
//Bulduğumuz pozisyon aralığı dışındaki tüm verileri temizliyoruz
$second_trim = substr($first_trim, 0, $stop_pos);
//Ve ekrana yazdırıyoruz
print "<div>$second_trim</div>";
Başlangıç ve bitiş pozisyonlarında boşluk olmaması bizim için önemli, bu duruma dikkat etmez iseniz hatalara seep olabilir. Normal ifadeler içeren kodlar yerine “strpos” komutunu kullanmanızı tavsiye ederim. Get_Contents yöntemiyle veri çektik, br sonraki derste ise curl kütüphanesi kullanarak bot / örümcek yapmayı anlatacağım.