Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Парсинг на PHP (вопрос)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
goldinitiate
Отправлено: 01 Апреля, 2019 - 04:21:58
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2019  


Помог: 0 раз(а)




Доброго времени суток. Можете помочь правильно спарсить данный html?


CODE (htmlphp):
скопировать код в буфер обмена
  1. <tr class="goods">
  2.             <td><a id="goods_69622" href="/goods/info/69622-cryline" style="overflow: visible;"><img class="iconurl swi" src="http://cdn.akamai.steamstatic.com/steam/apps/693440/header.jpg?t=1504201019"><span style="color: red !important; cursor: help;" title="Game or DLC (693440) not owned on Steam
  3. Last updated: 31.03.2019, 20:44:24"> &#10008;</span><span style="cursor: help;" title="Game (693440) has been in 1 bundles
  4. Last updated: 30.03.2019, 21:27:06"> <a style="color: yellow !important;" href="https://barter.vg/steam/app/693440/#bundles" target="_blank">&#65038;</a></span>CRYLINE</a></td>
  5.             <td title="В наличии 26925 шт." class="td-count">26925</td>
  6.             <td class="td-price">6.00 Руб. / 1 шт.</td>
  7.                         <td class="td-btn">
  8.                         <div class="btn-group">
  9.           <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  10.             Купить <span class="caret"></span>
  11.           </button>
  12.           <ul class="dropdown-menu">
  13.             <li><a href="#" data-toggle="modal" data-target="#setpaidway" onclick="buy('69622')">Купить</a></li>
  14.             <li><a style="cursor: pointer;" data-buywithcart="yes" data-cart="{"id":"69622","name":"CRYLINE","min_order":"1","count":"26925","price":"6.00","price_pp":"0.09"}">В корзину</a></li>
  15.           </ul>
  16.         </div>
  17.          </td>
  18.                  </tr>

Пытаюсь спарсить таким образом:


CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.    include_once('H/curl_query.php');
  3.    include_once('H/simple_html_dom.php');
  4.  
  5.    $html = curl_get('st.html');
  6.    $dom = file_get_html('st.html');
  7.  
  8.    $cou = $dom->find('.goods');
  9.  
  10.    foreach($cou as $cour){
  11.    echo $cour->plaintext . '<br>';
  12.    }
  13.    ?>

Выводит: "✘ CRYLINE 14245 6.00 Руб. / 1 шт. Купить Купить В корзину"

Нужно чтобы выводило только название - "CRYLINE". Как только не пробовал, кучу роликов пересмотрел, не получается. Вся надежда на вашу поддержку.

P.s. Пытался еще одним способом, но выводит: "array()" и все.


CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  
  3.    $curl = curl_init();
  4.    $url = "st.html";
  5.    curl_setopt($curl, CURLOPT_URL, $url);
  6.    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  7.  
  8.    $result = curl_exec($curl);
  9.  
  10.    $movies = array();
  11.  
  12.    preg_match_all('!<\/span>"(.*?)"<\/a>!',$result,$match);
  13.    $movies['name'] = $match[1];
  14.    print_r($movies['name'];
  15.  
  16.    ?>
 
 Top
teleoperator27
Отправлено: 01 Апреля, 2019 - 10:32:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




Выдерни регуляркой вот эту строку
CODE (htmlphp):
скопировать код в буфер обмена
  1. {"id":"69622","name":"CRYLINE","min_order":"1","count":"26925","price":"6.00","price_pp":"0.09"}
потом разбери её json_decode и бери оттуда что тебе надо
 
My status
 Top
goldinitiate
Отправлено: 01 Апреля, 2019 - 13:19:44
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2019  


Помог: 0 раз(а)




teleoperator27 пишет:
Выдерни регуляркой вот эту строку
CODE (htmlphp):
скопировать код в буфер обмена
  1. {"id":"69622","name":"CRYLINE","min_order":"1","count":"26925","price":"6.00","price_pp":"0.09"}
потом разбери её json_decode и бери оттуда что тебе надо


Честно говоря ничего не понял. Только начал изучение PHP. Если не в напряг, можешь написать готовый код? Думаю для всех полезно будет
 
 Top
teleoperator27
Отправлено: 01 Апреля, 2019 - 14:56:53
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




goldinitiate пишет:
Если не в напряг, можешь написать готовый код? Думаю для всех полезно будет
На халяву хочешь чужой контент воровать?
 
My status
 Top
goldinitiate
Отправлено: 01 Апреля, 2019 - 15:08:30
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2019  


Помог: 0 раз(а)




teleoperator27 пишет:
goldinitiate пишет:
Если не в напряг, можешь написать готовый код? Думаю для всех полезно будет
На халяву хочешь чужой контент воровать?


Я хочу выложить в общий доступ это дело, чтобы люди могли видеть в каком магазине дешевле купить игру и какая игра у них есть, какой нет. Осталось решить с этой проблемой вопрос и все. Никакого воровства.
 
 Top
Строитель Модератор
Отправлено: 01 Апреля, 2019 - 15:28:45
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




teleoperator27
Спойлер (Отобразить)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB