Php Bot Yapımı Joomla WordPress Sitelerinde Php Bot Veriçekme Nasıl yapılır
Öncelikle Yazımda Emeği Geçen Ayazogluna Teşekkür Ediyorum. Şimdi Aşşağıda Verdiğimiz Basit bir kodlama ile joomla wordpress gibi siteleriniz için php bot yazabilirsiniz.
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<?php
$site = file_get_contents(“https://www.erdinckoc.com.tr/index.php”);
$aranan =(‘/rel=”bookmark” title=”Permanent Link to (.*?)”>/i’);
$sayi = preg_match_all($aranan, $site, $ara);
for($a=0; $a<$sayi; $a++){
echo $ara[1][$a].”<br>”;
}
?>
Şimdi açıklamalara geçelim..
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
Bu kodun pek bir önemi yok aslında sadece uzak sitenin karakter setini aldım. yazılar bozuk olmasın diye..
$site = file_get_contents(“https://www.erdinckoc.com.tr/index.php”);
burada file_get_contents yardımıyla sitemizin kaynak kodlarını aldık.
sizde bizimle birlikte sözkonusu adresin kaynağını görüntüle yaparak notepad la takip edin kaynaktan hangi kodu aldık.
niçin onu aldık..
$aranan =(‘/rel=”bookmark” title=”Permanent Link to (.*?)”>/i’);
Bu preg_match fonksiyonumuz için tanımladığım arama komutu.. ben bunu bir değişkene atadım. siz isterseniz direk fonsiyonla
beraber kullanabilirsiniz.
şimdi olay burada çok karmaşık gibi gözükebilir. sakın korkmayın burada hiçbirşey yok. sayfayı kapatmak üzereyseniz vazgeçin
çünkü bu karakterler en basit olayıdır bot yapmanın..
sabit girdilerimiz.
(/……(.*?)……/i)
şimdi en azından biraz daha sade 🙂 iki tane slash işaretimiz var bunlar preg_match aramanın başlama ve bitiş noktalarıdır.
ortada bir iki garip işaret var şimdilik bunları açıklamayacağım. ama siz bunu sabit olarak bilin (.*?)
bu aranan kısım oluyor. yani toplam kodun açıklaması şu (/arama başlangıcı(.*?)arama bitişi/i)
ortadaki kısımda bizim çekmek istediğimiz kısım. hedefin kaynağını görüntülüyoruz. almak istediğimiz yazının sağını ve solunu
bu koda ekliyoruz.
birde sonda i diye bi şey var bu ne diye soracak olursanız. şimdilik bunuda sabit olarak kullanın. en az hata bu şekilde elde edersiniz
yani hassas olmayan bir bölge olarak tanımlıyoruz…
Burada Dikkat edilecek en önemli nokta kaynaktan aldığımız başlangıç ve bitiş aramalarında atıyorum </a> belirttik.
başlangıç. ve bitiş tagımız // olduğu için bu koddaki slash ı serbest bırakınız bu kod şu şekilde yazılacak.
<\/a> bütün / işaretleri için aynı şekilde yapılacak.
yani rastgele bir arama kodu yapalım.
$aranan = (‘/<title>(.*?)<\/tile>/i’);
umarım mantığı anlamışsınızdır. şimdi diğer satırlara geçelim.
$sayi = preg_match_all($aranan, $site, $ara);
burada preg_matc_all kodmuzu kullandık. (şunu ara, şurada, sonuç bu) değişkenlerimiz bu anlam.
burada çoklu arama yaptığımız için sonuçlar array olarak gelecektir. sayi diyerek bunların kaç tane olduğunu aldım.
çünkü ekrana yazdırırken lazım olcak..
for($a=0; $a<$sayi; $a++){
echo $ara[1][$a].”<br>”;
}
burada artık klasik bir array i for döngüsüyle yazdırıyoruz.
preg_match_all ile aldığımız sonuçları sayısı kadar ekrana yazdırıyoruz.
Üstad, sen ne faydalı işler paylaşıyorsun ya çok sağol senin gibi var olsun,