Возможно ли отфильтровать ссылки по критериям?

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Задача. Get запрос берет ссылки для страницы, для парсинга. Ссылки по регексу не вытащить. Мне для понимания логики в данном вопросе.
Как вообще в таком случае грамотно дальше поступать, чтобы достать именно нужные мне ссылки по моему формату?

Ссылки мне нужны например https://morakame.ru/shima/runama-tikiraki-3-8-l-viis-1212-duha-4420393.html
такие, а на странице естественно есть внутренние, внешние на партнеров и тп. Разные домены еще, и внутренне не удалить по принципу "всегда 5 в конце". Они в середине бывают и домены меняются.
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113
Все так размыто, что ничего конкретного, кроме посмотреть в сторону xpath посоветовать не могу
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
ТС наверное ищет как спарсить на странице донора все ссылки именно на другие страницы донора. И абсолютные, и относительные, но ВНУТРЕННИЕ.
Там не простой алгоритм, если нужно идеальный результат получить. Может есть какая-то готовая библиотека, я не нашел, придумал вот такую схему:
1. Сначала еще до обработки надо проверить не было ли редиректа во время гет-запроса, и если был, то считать хостом донора не только стартовый домен, но и домен после редиректа. Так как в коде могут быть абсолютные ссылки как с новым доменом, так и со старым. Если ссылка паникодовская, то добавляем сюда еще вариации с «Punnycoded».
2. Потом уже прогоняем все ссылки со страницы (парсим через HtmlAgilityPack.dll) по всяким условиям. Типа если ссылка абсолютная, то сравнивает содержит ли хост из первого шага. Если относительная, то клеем к ней хост из первого шага. И потом добавляем в финальный список.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)