Скрипт останавливает парсинг

311
12 мая 2017, 17:58

Парсю сайт на php

    $url = "http://lenfilm.tv/26996-Tolko_na_odnu_noch.html";
  $handle = curl_init($url);
  curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);
  $response = curl_exec($handle);
  $httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
  $html = file_get_contents($url);
  $doc = new DOMDocument();
  $doc -> loadHTML($html);
  $body = $doc -> getElementsByTagName("body") -> item(0);
  $menus = getElementsByClass($body, "div", "menu");
  $menu = array_pop((array_slice($menus, -1)));
  $as = $menu -> getElementsByTagName("a");
  $atype = $as -> item(($as -> length) - 1);
  $type = $atype -> nodeValue;
  echo $type;
  if($type == "Фильмы"){
    $content = getElementsByClass($body, "div", "content")[0];
    echo 'content';
    $title = getElementsByClass($content, "div", "title")[0];
    echo 'title';
    $titleh = $title -> getElementsByTagName("h1") -> item(0);
    echo 'titleh';
    $titlea = $titleh -> getElementsByTagName("a") -> item(0);
    echo 'titlea';
    }

Функция getElementsByClass

function getElementsByClass(&$parentNode, $tagName, $className){
$nodes=array();
$childNodeList = $parentNode->getElementsByTagName($tagName);
for ($i = 0; $i < $childNodeList->length; $i++) {
     $temp = $childNodeList->item($i); 
     if (stripos($temp->getAttribute('class'), $className) !== false) { 
     $nodes[]=$temp;
      } 
      } 
return $nodes; 
}

При запуске не выводит titlea, тоесть перед этим что-то отваливается, но я не понимаю что.

То, что я парсю

<div class="content">
  <div class="title">
    <span class="right">5.50 (2)</span>
    <h1>
      <a href="/26996-Tolko_na_odnu_noch.html#comm"
        style="text-decoration: none;">Только на одну ночь <span class="yelow">(2016/WEB-DLRip)</span> онлайн</a>
      <h1>
      <a href="/26996-Tolko_na_odnu_noch.html#comm" 
        style="text-decoration: none;">
      </a>
      </h1>
    </h1>
  </div>
</div>
READ ALSO
Как в мобильной версии сайта вывести меньше товаров, чем в основной?

Как в мобильной версии сайта вывести меньше товаров, чем в основной?

Интересует такой вопрос: можно ли в мобильной версии сайта выводить меньшее количество товаров на странице магазина, чем в большой десктоп...

249
YITH Woocommerce compare - как сменить текст в описании товара?

YITH Woocommerce compare - как сменить текст в описании товара?

В плагине YITH Woocommerce compare в поле description выводится короткое описание товара (woocommerce_short_description), а нужно полное (у меня оно в табе выводится #tab-description)Может...

280
Как вывести время создания куки?

Как вывести время создания куки?

Как вывести время создания куки ? Разобрался

221
Parse error: syntax error, unexpected T_DOUBLE_ARROW in /home/u870021518/public_html/revolt.php on line 17 [требует правки]

Parse error: syntax error, unexpected T_DOUBLE_ARROW in /home/u870021518/public_html/revolt.php on line 17 [требует правки]

Parse error: syntax error, unexpected T_DOUBLE_ARROW in /home/u870021518/public_html/revoltphp on line 17

233