Спарсить все ссылки, пройти по ним, спарсить ссылки, пройти по ним и получить блок с текстом. В чем ошибка?

241
06 марта 2017, 13:11

Доброго времени суток, господа!

Возникла проблема при парсинге описания товаров.

Есть сайт optnow.ru/catalog. Для начала нужно спарсить все ссылки категории, затем пройти по категориям, спарсить все ссылки на товары(проблемы с пагинацией не будет, т.к весь список товаров доступен по ?page=0), пройти по всем товаром и спарсить блок ('.description div').

Использую Simple Html Dom

include 'simple_html_dom.php';
$site = 'http://optnow.ru/catalog';
$data = file_get_html($site);
$catalogLink = array();
if(!empty($data)) {
  foreach($data->find('div.cat-name a') as $catalog) {
    $catalogLink['url'] = $catalog->href;
    $urls[] = $catalogLink;
  }
  foreach($urls as $url => $k) {
    foreach($k as $n) {
      $catalogLink = 'http://optnow.ru/' . $n . '?page=0';
      $productData = file_get_html($catalogLink);
      $productLink['url'] = $productData->find('.link-pv-name')->href;
      $productUrls[] = $productLink;
    }
  }
  foreach($productUrls as $productUrl => $hrefs) {
    foreach($hrefs as $href) {
      $link = new simple_html_dom();
      $hrefLink = 'http://optnow.ru/' . $href;
      echo $hrefLink;
      $linkData = $link->load($hrefLink);
      $productDesc = $linkData->find('.description div p');
      print_r($linkData);
      echo '<pre>';
      print_r($productDesc);
      echo '</pre>';
    } 
  }
}

В итоге получаю такой массив

 http://optnow.ru/simple_html_dom Object ( [root] => simple_html_dom_node Object ( [nodetype] => 5 [tag] => root [attr] => Array ( ) [children] => Array ( ) [nodes] => Array ( [0] =>  и т.д

В чем моя ошибка, как быть? Бьюсь с этим третий день. есть еще другой вариант парсера, там чуть меньше foreach

READ ALSO
$_POST зависит от чекбокса

$_POST зависит от чекбокса

Доброго времени суток, из select выбирается значение, switch определяет какое действие выполнятьВ форме вместе с select есть чекбокс

242
Не работает Cron, в Laravel 5.4 + Docker

Не работает Cron, в Laravel 5.4 + Docker

Обновили Laravel 53 до Laravel 5

372
unicode to decimal in php

unicode to decimal in php

Ребята, подскажите как конвертировать unicode в decimal?

264
Как вывести имена из базы MySQL?

Как вывести имена из базы MySQL?

Как вывести из базы в колонке xfields только слово после |label| не во всех ячейках они присутствуют

256