Парсинг URL-адреса

Содержание:

Начинающие и опытные программисты сталкиваются с парсингом адресов, но не знают, как правильно это делать.

Мы разберем все ключевые составляющие адреса и разделим его на понятные элементы.

Вы научитесь делать хороший парсинг.

Что собой представляет URL

Адрес URL состоит из нескольких компонентов. Каждый из них важен. Если чего-то не хватает, то ссылка элементарно не будет работать.

Все они указаны на рисунке ниже и идут слева направо.

Парсинг URL-адреса

Схема наглядно показывает полную раскладку парсинга. Эти элементы можно парсить.

Конструктор адресов

Представляет собой функцию, дающую возможность делать разбор (парсинг) частей URL:

Парсинг URL-адреса

Аргумент relativeOrAbsolute имеет 2 вида:

  • абсолютный URL;
  • относительныйURL.

Первый аргумент относительный, а второй обязательный и абсолютный URL (absoluteBase), который становится основой 1 аргумента.

Как пример, проводим инициализацию URL ( ) с абсолютным URL:

Парсинг URL-адреса

Парсинг URL-адреса

Далее, делаем комбинирование относительного и абсолютного адресов:

Парсинг URL-адреса

Парсинг URL-адреса

url.href делает возвращение переданной строчки URL.

Создается экземпляр URL ( ). Это дает возможность доступа ко всем составляющим URL.

Как пример, интерфейс экземпляра URL:

Парсинг URL-адреса

Парсинг URL-адреса

Парсинг URL-адреса

В этом примере тип USVString обозначает, что JavaScript обязан делать возвращение строчки.

Строка

Url.search дает возможность взять строку запроса, которая начинается со знака ?:

Парсинг URL-адресаПарсинг URL-адреса

Парсинг URL-адреса

При отсутствии строки запроса url.search делает возврат пустой строки (“):

Парсинг URL-адреса

Парсинг строки

Не всегда можно получать только исходную строчку запроса, можно также получать и параметры строчки.

Простой способ реализации подобной функции предоставляет атрибут url.searchParams. Его значение представляет интерфейс URLSeachParams.

Экземпляр дает большое количество методов, которые позволяют работать с настройками строки и другими.

Разберем пример:

Парсинг URL-адреса

Парсинг URL-адреса

url.searchParams.get(‘message’) делает возврат значения message.

Путь к не имеющемуся url.searchParams.get(‘missing’) делает возврат к null.

Хост

Значением url.hostname является само имя URL:

Парсинг URL-адреса

Путь

Url.pathname содержит путь URL:

Парсинг URL-адреса

В случае когда у адреса отсутствует путь, то url.pathname делает возвращение /:

Парсинг URL-адреса

Хеш

Его можно получить с помощью url.hash:

Парсинг URL-адреса

В случае отсутствия хеша url.hash делает возврат пустой строчки (“):

Парсинг URL-адреса

Валидация адреса URL

При применении конструктора new URL( ) происходит формирование экземпляра и перепроверка данного URL.

В случае невалидного URL появляется TypeError.

К примеру, http ://example.com – невалидный адрес. Это связано с пропуском, стоящим после http.

Пробуем применять данную ссылку:

Парсинг URL-адреса

Из-за некорректно указанной ссылки new URL(‘http ://example.com’) показывает TypeError.

Работа с адресом

Адресные атрибуты:

  1. Search.
  2. Hostname.
  3. Pathname.
  4. Hash.

Дают программисту делать редактирование.

Как пример, попробуем поменять имя хоста имеющегося адреса с red.com на адрес blue.io.

Парсинг URL-адреса

Как видим, название адреса поменялось.

Итог

Конструктор адресов представляет собой удобный метод парсинга адреса в JS.

new URL(relativeOrAbsolute, [, absoluteBase] может принимать вид абсолютного либо относительного адреса.

Если 1-е значение представляет собой относительный адрес, то 2-е – абсолютный адрес, что является фундаментом для первого аргумента.

Закончив создание экземпляра URL ( ), программист имеет возможность использовать все адресные компоненты.

Вопросы – Ответы

Ответим на несколько популярных вопросов.

Конструктор подходит для любых адресов?

Да, он позволяет работать с любым адресом. Неважно, зарубежный сайт или отечественный.

В конструкторе имеются только относительные и абсолютные адреса?

Они не имеются, а происходит прием одного из двух видов адресов у параметра.

URL и адрес – это одно и то же?

Да, это синонимы. Просто каждый называет так, как ему удобно.

Заключение

Мы разобрались, как делать парсинг URL. Вспомним еще раз, что мы прошли в статье:

  • узнали, что такое парсинг;
  • рассмотрели конструктор адресов;
  • рассмотрели строку;
  • рассмотрели парсинг строки;
  • рассмотрели хост;
  • рассмотрели путь;
  • рассмотрели хеш;
  • рассмотрели валидацию URL;
  • узнали о работе с адресом.

Используйте информацию и делайте качественный парсинг url-адресов. Конструктор работает достаточно стабильно, выполняет свою работу без сбоев.

Если вы хотите научиться профессиональному программированию, приглашаем вас на курс по Java-программированию. Пройдя его, вы станете профессионалом и научитесь писать программный код любой сложности.

Немного информации по курсу:

  • срок обучения – 4 месяца;
  • количество занятий в неделю – 5;
  • длительность каждого занятия – 4 часа.

Курс ведут профессиональные программисты, которые работают в крупных фирмах. Они научат вас не только классическому программированию на Java, но и поделятся профессиональными секретами, помогающими программировать еще быстрей и эффективней.

По окончании курса вы получите сертификат, подтверждающий прохождение обучения. Это поможет устроиться на работу – сертификат признается работодателями как диплом.

Торопитесь, запись на курс ограничена.

Присоединяйся к DevEducation — стань востребованным специалистом и построй карьеру в IT!