Задать вопрос
@Jaguar_sea

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

На страничке есть ссылка на сайт ресторана. Подскажите, пожалуйста, можно ли ее распарсить в виде прямой ссылки? Использую C# AngleSharp.
  • Вопрос задан
  • 167 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Здесь ссылка генерируется (декодируется?) скриптом на основе аттрибута data-ahref и декодера на js, который генерится на стороне сервера и присылается вам отдельно.

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

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

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

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

Похожие вопросы