web tasarım dersleri

Navigate / search

Php ile Bot Yapımı 1

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

1
2
3
4
5
6
//Ş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

7
$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

8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$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.

Comments

Serhat ÖKTEM

Merhabalar…
Bir oyunun sunucu durumlarını kendi sitemde göstermek istiyorum. Bunu IFRAME ile yapınca malesef arkaplanlarıda geliyor siteyle hiç mi hiç olmuyor. Ben içeriğini çekmek istiyorum lakin pek fazla bilgim yok bu konuda.

http://www.planetside-universe.com/server_status.php bu sitedeki sunucu durumlarını gösteren tablodan mesela kendi yapacağım tabloya sadece bazı yerleri çekmesini istiyorum.

Medium, Low, Up yazan yerleri çekmek istiyorum bunu nasıl yapabilirim. Örneğin şöyle birşey istiyorum.

Sunucu Konumu
Sunucu Adı
Sunucu Nüfusu
Sunucu Durumu

Avrupa
Miller
İçerik Çek
İçerik Çek

Leave a comment

name*

email* (not published)

website