Ajax ve Php ile Bot Yapımı – 1

Kategori: (Web Programlama) Yazan: admin, 11-04-2009

Etiketler : , , ,

Bu yazımda sizlere ajax ve php ile bir wordpress sitesine (kendi siteme yaptım) bot nasıl yapılır anlatmaya çalışacağım. Farklı üstadların sitelerine uygulamayı düşündüm ama emek hırsızlarına karşı ne olur ne olmaz diye kendi siteme kodlamayı uygun gördüm. İşin mantığını kavrayarak istediğiniz her siteye istediğiniz her türde botlar yapabilirsiniz. Ajax kullanmamda ki amaç ise sayfa yenileme derdine son vermekti. Öncelikle uygulamama Buradan göz atarak işe başlayabilirsiniz. Daha sonra yazıyı okumaya devam edin. Uygulamamız 3 dosyadan ibaret. Biri Eburhan’ın ajax kütüphanesi, sayfamızın tasarımını ve basit ajax fonksiyonlarını içeren index.php ve asıl içeriği çeken bot.php.

index.php dosyamızda uygulamamızın bot.php ile bağlantısını kuran basit bir fonksiyonumuz bulunmaktadır. Bu sayede bot.php dosyamıza site isimli değişkeni gönderiyoruz ve gelen verileri sonuclar alanına yazdırıyoruz. Kodları inceleyerek ne olduklarını çok rahat anlayabilirsiniz. Gelelim bot.php. Bot yapımı için bu sistemde file_get_contents, preg_match ve preg_match_all fonksiyonlarını kullandım. Bu fonksiyonların detaylı açıklamaları için malesef Php.net’e bakmanız gerekiyor. Basitçe açıklamak gerekirse;

file_get_contents(‘http://www.site.com’); sitesinin içeriğini kod bazında çeker.

preg_match_all() ve preg_match() düzenli ifade istediğiniz parametreden düzenli ifadeleri, istediğiniz düzenli ifadeleri değişkenlere atayarak istediğiniz gibi kullanmanızı sağlar.

<?php

$site = $_POST["site"];

if(!$site) die(“Site yazmadiniz”);

$ac = @file_get_contents($site);

if(!$ac) die(“Siteyi acamadim”);

preg_match_all(‘#<div class=”post-title”>(.*?)</div>#si’, $ac, $veriler, PREG_SET_ORDER);

foreach($veriler as $veri){

preg_match(‘#<h2><a href=”(.*?)” rel=”bookmark” title=”(.*?)”>(.*?)</a></h2>#si’, $veri[1], $aktar);
$link = $aktar[1];
$baslik = karakterdonustur($aktar[3]);

echo “<p align=\”left\” style=\”padding-left:5px\”><b>$baslik</b> – <a href=# title=\”Bir sonraki yazıda aktif edilecek\”>Bunu Ekle</a></p>”;
}

preg_match(‘#<div class=”navigation”>(.*?)</div>#si’, $ac, $sayfalar);
$sayfa = $sayfalar[1];
if($sayfa){
preg_match(‘#<a href=”(.*?)”>(.*?)</a>#si’, $sayfa, $aktar);
$link = $aktar[1];
$sayfa = karakterdonustur($aktar[2]);
echo “Diger Sayfalar : <input type=\”submit\” value=\”$sayfa\” onclick=\”calistir(‘$link’);\”>”;
}

function karakterdonustur($param){
$param = str_replace(“Ç”, “&#199;”, $param);
$param = str_replace(“ç”, “&#231;”, $param);
$param = str_replace(“İ”, “&#304;”, $param);
$param = str_replace(“ı”, “&#305;”, $param);
$param = str_replace(“Ğ”, “&#286;”, $param);
$param = str_replace(“ğ”, “&#287;”, $param);
$param = str_replace(“Ö”, “&#214;”, $param);
$param = str_replace(“ö”, “&#246;”, $param);
$param = str_replace(“Ü”, “&#220;”, $param);
$param = str_replace(“ü”, “&#252;”, $param);
$param = str_replace(“Ş”, “&#350;”, $param);
$param = str_replace(“ş”, “&#351;”, $param);
return $param;
}
?>

Gözünüze takılan bir kısım daha var. O da karakterdonustur() fonksiyonu. Ajax ile karakterler döndüğünden dolayı Türkçe karakterleri dönüştürmek için kullandığım bir fonksiyon. Her yerde ben bunu kullanıyorum.

Pek açıklamalı anlatamasam da kodları inceleyerek ve deneme yanılma yoluyla farklı yerlere yazmaya çalışarak istediğiniz gibi modifiye etme şansınız var.

Uygulamamıza tekrar bakmak için Buraya, indirmek içinde Buraya tıklayınız.

Yorum Yazın

11 + 7 = ? (İşleminin Sonucu)