Например, эта ссылка в браузере открывается "как есть". https://eda.ru/recepty/vypechka-deserty/brauni-brownie-20955
Но если поменять число в ссылке, то при открытии страницы ссылка меняется на нужную сама собой. Например, если поставить 20954:
https://eda.ru/recepty/vypechka-deserty/brauni-brownie-20954
То открывается другое блюдо, хотя изначально в ссылке написано "Брауни" из группы "Выпечка и десерты". Я этим воспользовался, когда писал скрейпер на Jsoup в Java - там я просто в цикле проходил и подсовывал в ссылку числа, все происходило само. Но сейчас пришлось переписывать его на PHP и в Simple Html Dom нет этой функции... Я так понял, перед передачей ссылки в функцию load_file нужно достать "настоящий" URL. Как это сделать?
Например, вот этот код
$html -> load_file("https://eda.ru/recepty/vypechka-deserty/brauni-brownie-20955");
$link = $html -> find("link", 0);
$exploded = explode("/", $link->href);
$category = $exploded[4];
echo $category;
Работает. Но если поменять на 20954, то вылетает еррор пицот. А если поменять на полный URL, то работает
Есть подозрения что Simple HTML DOM не умеет ходить по редиректам, по этому я рекомендовал бы вам обходной путь, простым curl вы забираете данные и потом кормите их парсеру через str_get_html, у меня всё работает, вот пример:
$url = "https://eda.ru/recepty/vypechka-deserty/brauni-brownie-2093";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
$html = str_get_html($result);
$link = $html->find("link", 0);
$exploded = explode("/", $link->href);
$category = $exploded[4];
echo $category;
Это всего лишь пример, лучше потом это всё разбить на функции для удобства использования.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости