@Jaguar_sea

Как распарсить такую ссылку?

На страничке есть ссылка на сайт ресторана. Подскажите, пожалуйста, можно ли ее распарсить в виде прямой ссылки? Использую C# AngleSharp.
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Здесь ссылка генерируется (декодируется?) скриптом на основе аттрибута data-ahref и декодера на js, который генерится на стороне сервера и присылается вам отдельно.

Вы вполне можете самостоятельно отреверсить код, начав с функции_onWebLinkClicked() (который вызывается после при нажатии на ссылку), в которой вызывается taLink.targetBlank() для ссылки, в которой хитрая обратная хэш-функция asdfDcd(), внутри которой есть несколько массивов со значениями, на основе которых и (вычисляя смещение с помощью функции getOffset(), в которой коэффициенты тоже генерятся на сервере) она преобразует наш ahref-хэш ссылки в валидный адрес.

Беда в том, что декодер (хэш-функция asdf и все, что с ней связано в составе пакета "asdf-encoder") специально генерится.

Выхода на самом деле один: скачивать и выполнять js с декодированием для каждой страницы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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