Как получить заголовок страницы с Озона?



@Slash-Zn

Здравствуйте.
На сайте есть фишка добавления ссылок на различные сайты, вставляешь адрес страницы, сценарий получает заголовок страницы, описание и подходящую картинку, если такая есть. Исходный код страницы, для получения заголовка и описания получаю при помощи curl. Все работает нормально, но если вставить адрес на магазин озон, то вылетает ошибка “Нет заголовка страницы”. Я проверил, какой исходник возвращает сценарий, вот, что возвращает:

<html style="height:100%"><head><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"><meta name="format-detection" content="telephone=no"><meta name="viewport" content="initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"></head><body style="margin:0px;height:100%"><iframe id="main-iframe" src="https://qna.habr.com/_Incapsula_Resource?SWUDNSAI=31&xinfo=8-22251398-0%200NNN%20RT%281631097560214%2028%29%20q%280%20-1%20-1%200%29%20r%280%20-1%29%20B12%2811%2c348807%2c0%29%20U12&incident_id=584000800074545846-93504023642510344&edet=12&cinfo=0b000000&rpinfo=0&cts=liDG24e7rRaIsdOfpVMoNrBtJnv92BFa1hPRI6LOPS3vMpEZs9HV6HydbkwbeFRR&mth=GET" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: 584000800074545846-93504023642510344</iframe></body></html>

Подскажите, в какую сторону копать? Чтобы получать код страницы, где есть все данные (Хотя бы: ).
Спасибо.


Решения вопроса 0


Ответы на вопрос 1



@Akdmeh

Срабатывает защита от парсинга и ботов (грубо говоря, вам показывается CAPTCHA типа: “вы не робот?”).
Подобные защиты обычно обойти очень трудно.
Попытайтесь с помощью

curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36');

притвориться обычным браузером.
Попытайтесь через прокси (тоже маловероятно).
Поищите сайты, которые уже его распарсили и которые не имеют такой злой защиты.
А, еще есть вариант через виртуальный браузер headless-браузеры, они могут гипотетически исполнить JS-код и пройти проверку (но не факт), что-то типа https://github.com/chrome-php/chrome
Но честно скажу – обычно подобную защиту пройти очень сложно, если вообще возможно. Но вы попытайтесь сделать то, что я описал.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *