Здесь я очищаю данные с веб-страницы, используя DOM. Я могу отказаться от данных для первого класса. Я поставил для каждого, чтобы рассмотреть весь класс review-wrapper
. Я думаю, что он повторяется, но каждый раз, когда он показывает только похожие результаты.
Я просматриваю обзор, дату и стоимость курса.
Пример: http://codepad.viper-7.com/lHS9jk
код:
<?php libxml_use_internal_errors(true); $html= file_get_contents('http://www.yelp.com/biz/franchino-san-francisco?start=80'); $html = escapeshellarg($html) ; $html = nl2br($html); $classname = 'review-wrapper'; $dom = new DOMDocument; $dom->loadHTML($html); $xpath = new DOMXPath($dom); $results = $xpath->query("//*[@class='" . $classname . "']"); foreach($results as $node) { $classname = 'rating-qualifier'; $dom = new DOMDocument; $dom->loadHTML($html); $xpath = new DOMXPath($dom); $results = $xpath->query("//*[@class='" . $classname . "']"); if ($results->length > 0) { echo $review = $results->item(0)->nodeValue; echo "<br/>"; } $classname = 'review_comment ieSucks'; $dom = new DOMDocument; $dom->loadHTML($html); $xpath = new DOMXPath($dom); $results = $xpath->query("//*[@class='" . $classname . "']"); if ($results->length > 0) { echo $review = $results->item(0)->nodeValue; echo "<br/>"; } $meta = $dom->documentElement->getElementsByTagName("meta"); echo $meta->item(0)->getAttribute('content'); echo "<br/>"; } ?>