2012-03-21 26 views
6

मैं PHP में उपयोगकर्ता द्वारा दिए गए यूआरएल से दूसरे पृष्ठ का एक छोटा सा पूर्वावलोकन करने का एक तरीका ढूंढ रहा हूं।PHP में वेब स्क्रैपिंग

मैं केवल पृष्ठ का शीर्षक, एक छवि (वेबसाइट के लोगो की तरह) और कुछ पाठ या विवरण उपलब्ध होने पर पुनर्प्राप्त करना चाहता हूं। क्या बाहरी पुस्तकालयों/कक्षाओं के बिना ऐसा करने का कोई आसान तरीका है? धन्यवाद

अब तक मैं, DOCDocument वर्ग का उपयोग करके HTML लोड हो रहा है और स्क्रीन पर प्रदर्शित करने की कोशिश की है, लेकिन मुझे लगता है कि ऐसा करने के लिए यह

+1

हां। वहाँ है। क्या तुमने गुगल किया है? क्या आपने कुछ भी करने की कोशिश की है? –

+1

हां, मैं यहां नहीं पूछूंगा अगर मैंने – federicot

+1

नहीं किया तो ... आपने क्या प्रयास किया है? –

उत्तर

14

मुझे सलाह है कि आप इसके लिए simple_html_dom पर विचार करें। यह बहुत आसान बना देगा।

शीर्षक, और पहली छवि को खींचने का एक उदाहरण उदाहरण यहां दिया गया है।

<?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; 
?> 

यहां एक दूसरा उदाहरण है जो बाहरी पुस्तकालय के बिना ऐसा ही करेगा। मुझे ध्यान रखना चाहिए कि HTML पर regex का उपयोग करना एक अच्छा विचार नहीं है।

<?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

धन्यवाद, आपके उत्तर के लिए। मुझे लगता है कि मैं सरल HTML डोम पार्सर लाइब्रेरी के साथ रहूंगा, क्योंकि हर कोई इसकी सिफारिश कर रहा है – federicot

2

आप इस के लिए उपयोग कर सकते हैं SimpleHtmlDom उचित तरीका है नहीं लगता। और फिर शीर्षक और आईएमजी टैग की तलाश करें या आपको और क्या करना है।

+1

मैंने कभी भी उपयोग की जाने वाली सबसे अच्छी तृतीय पक्ष पुस्तकालयों में से एक है। अत्यधिक अनुशंसा करते हैं। – cchana

संबंधित मुद्दे