@Centrovoy

Как проверять конкретное значение на левом сайте?

Вопрос в заголовке не совсем корректен, поэтому опишу подробнее тут.

Необходимо посещать условный сайт xxx.yy найти там строку с определёнными параметрами, к примеру:

В данном случае нужно найти строку tr c data-id="88066" и проверить состояние data-count (к примеру data-count != 0)

Запуск скрипта будет происходить по заданию cron.
Натолкните на мысль, как через php посещать "левый" сайт и как проверять значение конкретного data-count
  • Вопрос задан
  • 559 просмотров
Пригласить эксперта
Ответы на вопрос 2
@AaAAxzz
php.net/manual/ru/ref.curl.php
и
php.net/manual/ru/class.domdocument.php

$result = '<tr data-id="88066" data-count="0"> ... </tr>'; // код страницы см. curl_exec()
$dom = new \DOMDocument();
$dom->loadHTML($result);
		
/** @var \DOMElement $element */
foreach($dom->getElementsByTagName('tr') as $element)
{	
	$value = $element->getAttribute('data-id'); // 88066
	$count = $element->getAttribute('data-count');
}
Ответ написан
fnnzzz
@fnnzzz
front-end dev
уж проще на ноде сделать (и в тот же крон поставить).

делаешь xhr на страничку (при помощи fetch, например), получаешь хтмл - парсишь его, например при помощи https://www.npmjs.com/package/cheerio
работаешь дальше с ним как с обычным DOM - достаешь нужный tr и читаешь его аттрибуты.

зы: ну на пхп уверен тоже самое можно сделать: cron + какая-нибудь библиотечка для парса и работы с DOM
Ответ написан
Ваш ответ на вопрос

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

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