2012-03-21 22 views
6

Kullanıcı tarafından verilen bir URL'den başka bir sayfanın küçük bir önizlemesini yapmak için bir yol arıyorum PHP.Web kazıma PHP

Yalnızca sayfanın başlığını, bir görüntünün (web sitesinin logosu gibi) ve varsa biraz metin veya bir açıklama almak istiyorum. Bunu herhangi bir dış kütüphane/sınıf olmadan yapmanın basit bir yolu var mı?

Teşekkür

Şimdiye kadar HTML yükleme ve ekranda görüntüleyerek, DOCDocument sınıfını kullanarak denedim ama bunun o

+1

Evet. Var. Googledin mi? Hiç bir şey denedin mi? –

+1

Evet, ben – federicot

+1

yapmasaydım sormazdım. Ne denediniz? –

cevap

14

Bunun için simple_html_dom'u göz önünde bulundurmanızı öneririz. Bunu çok kolaylaştıracak.

Başlığı ve ilk resmi nasıl çekeceğinize dair bir çalışma örneği.

<?php 
require 'simple_html_dom.php'; 

$html = file_get_html('http://www.google.com/'); 
$title = $html->find('title', 0); 
$image = $html->find('img', 0); 

echo $title->plaintext."<br>\n"; 
echo $image->src; 
?> 

Aşağıda, harici bir kitaplık olmadan aynı işlemi gerçekleştirecek ikinci bir örnek var. HTML'de normal ifadeyi kullanmanın iyi bir fikir olmadığını not etmeliyim.

<?php 
$data = file_get_contents('http://www.google.com/'); 

preg_match('/<title>([^<]+)<\/title>/i', $data, $matches); 
$title = $matches[1]; 

preg_match('/<img[^>]*src=[\'"]([^\'"]+)[\'"][^>]*>/i', $data, $matches); 
$img = $matches[1]; 

echo $title."<br>\n"; 
echo $img; 
?> 
+0

Cevabınız için teşekkürler. Herkesin önerdiği gibi Basit HTML Dom Ayrıştırıcı kitaplığına yapışacağımı düşünüyorum. – federicot

2

Bunun için SimpleHtmlDom kullanabilirsiniz yapmak uygun yolu olduğunu sanmıyorum. ve daha sonra başlık ve img etiketlerini veya yapmanız gereken diğer şeyleri arayın.

+1

Şimdiye kadar kullandığım en iyi üçüncü parti kitaplıklarından biri. Kesinlikle tavsiye ederim. – cchana

İlgili konular