Заказ закрыт
Парсинг ссылок из html документа (PHP)

Бюджет: по договоренности
Заказчик выбрал исполнителя:
Алексей WordPress  
Необходимо написать на php функцию/класс, решающую задачу извлечения ссылок из html документа для последующего краулинга по этим ссылкам.

На входе функция получает:
- html документ
- Ссылку (url) на этот html документ (нужна для извлечения scheme и host)

На выходе — массив из внутренних, внешних и ссылок внутри документа, специальных ссылок.

1. Внешние ссылки — ссылки с отличным от исходного url домена
2. Внутренние ссылки — ссылки с таким же доменом
3. Ссылки внутри документа — это все ссылки с # для навигации внутри документа
4. Специальные ссылки — mailto:

Все ссылки итогового массива (кроме специальных) должны быть приведены к абсолютному виду, оставляем только уникальные ссылки.

example.com
/category => example.com/category
category => example.com/category
//example2.com => emaple2.com — scheme зависит от scheme ссылки исходного документа

Host и scheme преобразуем в строчные буквы, остальная часть url регистрозависима, оставляем как есть.

Учесть, что ссылки/домены могут быть на отличном от латиницы языка (Punycode/Urlencode).

На выходе массив:

[external] => array()
[internal] => array()
[page] => array()
[special] => array()
Опубликован 16.01.2023 в 16:46
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.