saintsplay
@saintsplay
я студент

Как в phpQuery при парсинге вытащить нужный текст, если у него класс совпадет с другим текстом?

Здравствуйте, я столкнулся с такой проблемой при парсинге в phpQuery ,
на сайте с которого я извлекаю данные у нужного мне элемента, класс совпадает с другим
и на выходе я получаю кроме того что нужно, еще другой текст а удалить с помощью remove();
невозможно, он удалит и то что мне нужно так как у них один класс на двоих:

serverPage-contentExtra serverPage-contentExtra-Ellipsis tooltipstered

Кода парсира:
парсир
$infoData = pq( '.serverPage-contentExtra-Ellipsis' );
	foreach ( $infoData as $Data )
	{

		$Data = pq( $Data );
		//$Data->find( 'span' )->remove();

		xprint( $Data->text() );

	}

результат парсира:
5e274d91c9cd3267518672.png

Поледний из представленых "Список карт " я знаю как можно убрать
$Data->find( 'span' )->remove();

но вот второй
7 дней – 99.72%, 14 дней – 99.72%, 28 дней – 99.72%

таким способом убрать не получиться

мне нужно спарсить этот текст:
2 дня 5 часов 56 минут

без стольных двух из представленных

код с сайта:
2 дня 8 часов 37 минут
<div class="serverPage-contentBox serverPage-contentBox-InlineExtra">
  <div class="serverPage-contentLabel">
    <h3 class="serverPage-contentLabelText serverPage-contentLabelText-Icon serverPage-contentLabelText-IconStatus"> Статус сервера </h3>
  </div>
  <div class="serverPage-status2 "> ONLINE </div>
  <div class="serverPage-contentExtra serverPage-contentExtra-Ellipsis tooltipstered" data-tooltip="Длительность непрерывного нахождения сервера в данном статусе" data-tooltipimage="/img/icon/clock_white.svg"> 2 дня 5 часов 56 минут </div>
</div>


7 дней – 99.72%, 14 дней – 99.72%, 28 дней – 99.72%
<div class="serverPage-contentBox serverPage-contentBox-InlineExtra">
  <div class="serverPage-contentLabel tooltipstered" data-tooltip="Uptime сервера – процент онлайна сервера за период времени. Если у сервера uptime меньше 100%, это говорит о том, что сервер был оффлайн в какие-то периоды времени."
    data-tooltipimage="/img/icon/clock_white.svg">
    <h3 class="serverPage-contentLabelText serverPage-contentLabelText-Icon serverPage-contentLabelText-IconTime"> Uptime сегодня </h3>
  </div>
  <div class="serverPage-contentValue  tooltipstered" data-tooltip="Uptime сервера – процент онлайна сервера за период времени. Если у сервера uptime меньше 100%, это говорит о том, что сервер был оффлайн в какие-то периоды времени."
    data-tooltipimage="/img/icon/clock_white.svg"> 100 % </div>
  <div class="serverPage-contentExtra serverPage-contentExtra-Ellipsis tooltipstered" data-tooltip="Uptime за 1 день – <b>100%</b><br />за 7 дней – <b>99.71%</b><br />за 14 дней – <b>99.71%</b><br />за 28 дней – <b>99.71%</b>"
    data-tooltipimage="/img/icon/clock_white.svg"> 7 дней – <b>99.71%</b>, 14 дней – <b>99.71%</b>, 28 дней – <b>99.71%</b> </div>
</div>


Список карт
<div class="serverPage-contentSectionItem serverPage-contentSectionItem-3">
  <!-- MAPS COUNT -->
  <div class="serverPage-contentBox serverPage-contentBox-InlineExtra tooltipstered" data-tooltip="Общее количество замеченных карт на сервере за последний месяц" data-tooltipimage="/img/icon/map_white.svg">
    <div class="serverPage-contentLabel">
      <h3 class="serverPage-contentLabelText serverPage-contentLabelText-Icon serverPage-contentLabelText-IconMap"> Карт на сервере </h3>
    </div>
    <div class="serverPage-mapsCount"> 11 </div>
    <div class="serverPage-contentExtra serverPage-contentExtra-Ellipsis">
      <span class="serverPage-contentExtraLink" onclick="Tsarvar.viewServerMapsList();"> Список карт </span>
    </div>
  </div> <!-- /MAPS COUNT -->
</div>



как это сделать я не знаю в силу того что еще новичок в парсинге,
как вытащить нужной текст подскажите пожалуйста.
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
если ненужный всегда второй - удаляй второй
если нужный имеет одинаковый текст - ищи по куску текста

если они оба равноценны - ищи признак нужности или считай одинаковыми ))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы