есть страница которую гружу через curl на ней есть элемент поторый сразу не появляется в html а примерно через секунду я пытаюсь отловить этот элемент через phpQuery но проблема в том что phpQuery не находит его потому что он появляется чуть позже как в таком случае поступить что бы отловить этот элемент?
как пример вот так я получаю страницу
public function getPage()
{
$ch = curl_init();
$options = array(
CURLOPT_TIMEOUT => 15,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_FOLLOWLOCATION => TRUE,
CURLOPT_URL => $this->url,
CURLOPT_USERAGENT => 'Google Chrome'
);
curl_setopt_array($ch, $options);
$html = curl_exec($ch);
if ($html === false) {
$arData = false;
$arError = curl_error($ch);
} else {
$arData = $html;
}
curl_close($ch);
return [
"data" => $arData,
"error" => $arError
];
}
Делать запросы на урл с которого грузится элемент, или использовать инструменты которые позволяют выполнять js скрипты
не получится там запрос идет к апи из ключем с привязкой к домену
а что в этой связке исполняет джаваскрипт, благодаря которому потом появляется элемент?
pcre чтобы получить api key + curl с указанием host header, если привязка к домену или какой то chromeless использовать
https://github.com/mozilla/chromeless :)
старый заброшенный проект
В данном случае коллега Роман опечатался и вместо headless chrome написал chromeless, что является старым проектом от Мозиллы.
Обсуждают сегодня