Что такое парсинг?
- Категория: Что такое?
- – Автор: Игорь (Администратор)
В рамках данной заметки, я расскажу вам что такое парсинг, а так же про ряд особенностей.
Любой человек, который задумывался о создании сайта или хотя бы обсуждал подобную тематику, хоть раз, но слышал такое слово, как парсинг. Однако, далеко не каждый представляет себе что это такое, зачем нужно и как он применяется.
Поэтому далее рассмотрим этот термин подробнее.
Примечание: Данный материал предназначен для начинающих и обычных пользователей, поэтому не содержит ряд технических деталей.
Парсинг это
Парсинг (parsing), синтаксический анализ - это сопоставление и разбор входной строки символов в соответствии с формальными правилами.
Парсер - это программа, которая осуществляет парсинг.
Чтобы читателям было понятно, о чем идет речь, рассмотрим небольшой пример из жизни. Допустим, вы открыли страничку с контактами, в которой необходимо найти электронный адрес почты. Известно, что email выглядит примерно следующим образом "некий-текст@адрес-сайта". Как будете действовать? Если немного утрировать, то, скорее всего, вы будете последовательно просматривать каждое слово и сравнивать его с шаблоном.
Аналогичным образом действует парсер. В соответствии с заданными формальными правилами осуществляет сопоставление и разбор исходного текста (отбрасывать ненужное и вычленять нужное).
Примечание: Стоит знать, что чисто технически это может быть несколько сложнее, но суть примерно такая.
В каких областях применяется парсинг? На самом деле в любой, где может требоваться синтаксический анализ строки. Создание приложений из кодов, написанных на различных языках программирования. Регулярные выражения для вычленения отдельных данных из текста (тот же поиск email). Разбор данных из форм. Математические выражения. Хранение данных в XML. И многое многое.
Что такое парсинг сайта? В общем смысле, под парсингом сайта подразумевают открытие страниц некоего сайта, разбор его данных и преобразование в нужный формат. Например, парсер открыл сайт о котятах, вычленил фотографии и сохранил их в каталог "милые пушистики". Пример шуточный, но суть отражает. В реальности же, парсеры сайтов применяются для сбора контактных данных, информации о товарах, копирования обзоров и вообще вычленения любого контента, который только может потребоваться.
Какие особенности парсинга сайтов? Самая первая и, пожалуй, самая важная - это преобладание "серого окраса". Дело в том, что далеко не всегда можно сразу сказать что можно скачивать и сохранять, а что нет. Если раньше интернет был маленьким и мало кого интересовал в плане ограничений, то в нынешнее время несколько иначе.
Следующая особенность - это то, что парсинг сайтов мало кому нравится, так как это существенная нагрузка и бесполезный трафик для авторов сайтов (с которых скачивают). Это означает, что с этим борются различными методами. Например, блокируют IP-адреса, удаляют аккаунты и прочее. Это, в свою очередь, означает, что, чисто технически, парсер может требовать тонкой настройки.
Третья особенность - это умение составлять шаблоны, требующее от пользователей определенных знаний в html и регулярных выражениях. Суть в том, что далеко не всегда в парсерах могут быть шаблоны "в один щелчок", подходящие под определенный сайт, или визуальная система настройки парсинга, в которой пользователь тыкает мышкой по нужным местам.
Примечание: Для понимания сложности, советую почитать обзор про генерацию текста. В парсинге может быть еще сложнее.
Четвертая особенность - это скорость сбора информации. Во многом зависит от того как происходит парсинг (какие технические настройки) и как много страниц необходимо спарсить. Например, многочасовой парсинг не такое уж и редкое явление для больших сайтов (хотя бы более нескольких тысяч страниц).
Пятая особенность - это необходимость регулярного сбора информации. Парсингом редко занимаются ради одномоментных целей. Поэтому этому придется уделять немало времени и сил. Мало ли страничка сайта стала иначе отображать информацию. А может данные стали иным образом отображаться. И прочее прочее.
Теперь, вы знаете что такое парсинг, а так же ряд важных аспектов.
☕ Понравился обзор? Поделитесь с друзьями!