Разбор URL-столбца на компоненты

Выделить домен, путь и параметры, сохранить повторяющиеся ключи и экспортировать структурированную таблицу.

Рабочая область

Выделить домен, путь и параметры, сохранить повторяющиеся ключи и экспортировать структурированную таблицу.

Обработка на устройстве. Файлы и значения полей не отправляются в аналитику. Ctrl/Cmd + Enter — запуск.

Загрузка локальной обработки…

Настройки и локальный проект

Рецепт настроек не содержит исходных файлов. Проект очереди содержит проверяемые записи: храните его на своём устройстве. Автоматического сохранения нет.

Метод и ограничения выбранного режима

Стандартный URL-парсер выделяет протокол, домен, порт, путь, query и фрагмент. Параметры экспортируются массивом пар, а не объектом, поэтому повторные ключи не теряются. Относительные адреса разрешаются только при заданной базе; запросы по ним не выполняются.

До 20 000 записей, 200 столбцов, 500 000 ячеек; до 50 000 строк и 1 млн ячеек результата. XLSX: сохранённые значения выбранного листа, без формул и форматирования. Старый XLS не поддерживается. CSV-экспорт защищает формулы апострофом; для исходных строк используйте JSON.

Методика и примеры

Разбор URL-столбца на компоненты

Стандартный URL-парсер выделяет протокол, домен, порт, путь, query и фрагмент. Параметры экспортируются массивом пар, а не объектом, поэтому повторные ключи не теряются. Относительные адреса разрешаются только при заданной базе; запросы по ним не выполняются.

Ограничения

До 20 000 записей, 200 столбцов, 500 000 ячеек; до 50 000 строк и 1 млн ячеек результата. XLSX: сохранённые значения выбранного листа, без формул и форматирования. Старый XLS не поддерживается. CSV-экспорт защищает формулы апострофом; для исходных строк используйте JSON.

Проверяемый пример

Входные данные примера
id;url
1;https://example.test/page?a=1&a=2#top
2;/relative
3;mailto:a@example.test
СтрокаURLПротоколДоменПортПутьИсходный queryПараметры (пары JSON)ФрагментСтатус
2https://example.test/page?a=1&a=2#tophttpsexample.test/page?a=1&a=2[["a","1"],["a","2"]]#topok
3/relativehttpsexample.test/relative[]ok
4mailto:a@example.testДопустимы HTTP/HTTPS.

Источники метода

Следующая задача