Php ile WordPress Bot Yapımı Dom Tarzı

Php Bot Erdinç Koç 2.206 Görüntüleme Okuma Süresi: 3 Dakika

Veri çekilmesi gereken adreste biraz dolaşıp bize gerekli alt sayfalardaki gerekli verileri çekmek.

Php Dom Bot nasıl çalışıyor.

1. Verilen adrese gidiyor. ve POST classlı divlerin içindeki adresleri buluyor.
2. Daha sonra bulunan adresleri ziyaret edip konu başlığı ve konu içeriğini alıyor.

Geri kalan açıklamalar Aşağıdaki kodun içindedir.
Anlatamadığım bir yer olursa lütfen yorumlarınız ile belirtiniz.

Örnek Kod:
<? include ‘simple_html_dom.php’; // gerekli class include edildi.
error_reporting(1);

$html = file_get_html(‘http://www.phpsorunu.com/2010/06/’); // html verisi çekilecek adres

foreach($html->find(‘div[class^=”post”] h2 a’) as $e){
// yukarıda her bir post class ı olan div in içinde
// h2 tagını arıyoruz ve bunun içindeki ‘a’ linkin href (yani referans adresini alıyoruz)

$link = $e->href; //linkimizi bulduk

$ic_sayfa = file_get_html($link); //botumuzu oraya gonderiyoruz

foreach ($ic_sayfa->find(‘div[class^=”post”]’) as $ic) {
//içerik yani konu sayfamızda gene post class lı dıvı buluyoruz
//buldugumuz divin içindeki h1 tagının içindeki veri bizim başlığımız oluyor ve bunu başlık

$baslik = $ic ->find (‘h1’,0) -> plaintext;
$konular[][‘baslik’] = $baslik; // konular dizimize (array) baslık olarak kayıt ediyoruz
$icerik = ”;

// wordpresste ki br yerine p tagını kullandığı için (BU TAGLAR ÇEKECEĞİMİZ VERİ TÜRÜNE GÖRE DEĞİŞİR) aşağıda p taglarının içeriğini almamız gerekiyor her p tagı için döngümüzü yazıyoruz
foreach ($ic -> find(‘p’) as $icerikp){
if ($icerikp -> hasAttribute(‘class’)){
// bize postmeta data gibi class ı p tagları gerekmediği için gerekli kontrolleri yapıyoruz
}
else {
$icerik.= $icerikp->outertext; }
// classsız p taglarının outertext ile <p>içindeki yazı </p> çeklinde içerik değişkenimize kayıt ediyoruz.

}
//bütün p taglarımızı alıncayda konular dizimizin icine icerik bolumune atiyoruz.
$konular[][‘icerik’] = $icerik;

}
}

// sira geldi ekranda gostertmesi veya istediginiz işlemin yapılmasına.

foreach ($konular as $konu ){

echo ‘<div style=”border: 3px solid navy; margin-top:10px;”>’;
echo ‘<h2>’.$konu[‘baslik’].'</h2>’;
echo ‘<div>’.$konu[‘icerik’].'</div>’;
echo ‘</div>’;

}

?>

Gerekli olan kütüphane veya classlar :
PHP Simple HTML DOM Parser

Buradan indirebilirsiniz.
Domu Buradan indirebilirsiniz.

Bir önceki yazımız olan Php Bot Nasıl Yapılır ? WordPress'e Bot Entegre Etmek başlıklı makalemizi de okumanızı öneririz.

Click to rate this post!
[Total: 0 Average: 0]

Sosyal Ağlarda Paylaş

{Erdinç Koç}

Merhabalar Öncelikle Sitemi Ziyaret Ettiğiniz için Öncelikle Teşekkür Ederim. Erdinç KOÇ 26 ARALIK 1986 Pazar Günü Dünyaya Soğuk bir ayda gözlerini açmış masum ailenin ilk çocuğu olarak dünya’ya geldim. Webtasarım ve Linux Konusunda daha çok bilgi edinmek adına bilge adam Kadıköy şubesinde Php – Linux Sistem ve Ağ Uzmanlığı Eğitimleri aldıktan sonra.Kendimi Kendi Alanımda Profesyonel olarak yer aldığım projelerde bulundum. Türkiye’nin önde gelen büyük firmaları ile çalıştım. Hala Çalışmaktayım.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir