Nedir?
Simple HTML DOM Parser başka bir siteden veri çekme işlemini kolaylaştıran bir kütüphanedir. CSS seçicileri gibi kullanım tarzı ile verileri çekmek oldukça kolaydır.
Kurulum
Kütüphanenin sitesine gitmek için buraya tıklayın. Sitesindeki download bölümünde bulunan indirme linkinden veya direk buraya tıklayarak indirme sayfasından son versiyonu indirelim. İndirme bittikten sonra ".zip" dosyası içerisindeki "simple_html_dom.php" dosyasını çalışma klasörümüze atalım ve sayfaya dahil edelim.
<?php
require "simple_html_dom.php";
?>
Artık kütüphaneyi kullanmaya hazırız .
Kullanımı
<?php
require "simple_html_dom.php";
$html = str_get_html(file_get_contents('http://www.google.com/')); // Siteye bağlan
//$html = file_get_html('http://www.google.com/'); // Bu şekildede kullanılabilir.
foreach($html->find('a') as $element) // Sitedeki tüm "a" elementlerini ara
{
echo $element->href . '<br>'; // Foreach ile saydaki "a" elementi kadar döndür. Ve "href" değeri ile linke ulaş
}
?>
En basit haliyle bu şekilde kullanılıyor. Şimdi biraz daha detaya inelim .
Sayfadaki tek veriyi çekmek
Önceki örneğimizde tüm "a" elementlerini getirmiştik. Şimdi örneğin ilk "a" elementini alalım.
$link = $html->find("a",0)->href; // İlk elementi bul(0 yerine kaçıncı sıradaysa bir eksiğini yazın örneğin 2.sıradaysa 1 yazın) ve href değerini al.
echo $link;
Eğer sonuncu veriyi almak istersek. 0 yerine -1 yazabiliriz.
Seçiciler
Yazımızın başında da belirtiğimiz gibi CSS seçicileri gibi kullanım şekli ile verileri rahatça çekebiliriz. Kullanımı oldukça basittir.
$html->find('div[id=deneme]'); // İd'si deneme olan divi bul
$html->find('div[class=deneme]'); // Class'ı deneme olan divi bul
// Veya
$html->find('div#deneme'); // İd'si deneme olan divi bul
$html->find('div.deneme'); // Class'ı deneme olan divi bul
Basit olarak verileri bu şekilde seçebiliriz. Şimdi verileri nasıl alacağımızı görelim.
$html = str_get_html("<div class='test'><a href='http://www.webderslerim.com'>Web derslerim</a></div>");
$e = $html->find("div.test", 0);
echo $e->tag; // Hangi element olduğunu yazar.
echo $e->outertext; // Seçilen elementin çıktsını yazar.
echo $e->innertext; // Seçilen elementin içindeki HTML çıktısını yazar.
echo $e->plaintext; // HTML çıktısı temizlenerek yazılır.
Daha fazla bilgi için buraya tıklayın.
Yorum yapmak için lütfen giriş yapın veya üye olun