Парсинг: Что? Зачем? Как?

Что такое парсинг?

Что такое парсинг?

В общем смысле, парсинг – это линейное сопоставление последовательности слов с правилами языка. Понятие «язык» рассматривается в самом широком контексте. Это может быть человеческий язык (например, русский), используемый для коммуникации людей. А может и формализированный язык, в частности, любой язык программирования.

Парсинг сайтов – последовательный синтаксический анализ информации, размещённой на интернет-страницах. Что представляет из себя текст интернет-страниц? Иерархичный набор данных, структурированный с помощью человеческих и компьютерных языков. На человеческом языке предоставлена информация, знания, ради которых, собственно, люди и пользуются Интернетом. Компьютерные языки (html, JavaScript, css) определяют как информация выглядит на мониторе.

Зачем нужен парсинг?

Создавая веб-сайт, его владелец неизбежно сталкивается с проблемой – где брать контент? Оптимальный вариант: найти информацию там где её очень много – в Интернете. Но при этом приходится решать такие задачи:

Парсинг сайтов является эффективным решением для автоматизации сбора и изменения информации.

По сравнению с человеком, компьютерная программа-парсер:

  1. быстро обойдёт тысячи веб-страниц;
  2. аккуратно отделит техническую информацию от «человеческой»;
  3. безошибочно отберёт нужное и отбросит лишнее;
  4. эффективно упакует конечные данные в необходимом виде.

Результат (будь то база данных или электронная таблица), конечно же, нуждается в дальнейшей обработке. Впрочем, последующие манипуляции с собранной информацией уже к теме парсинга не относятся.

Языки программирования

Какие языки программирования используются для написания парсеров?

Любые, на которых создаются программы для работы со Всемирной Паутиной. Веб-приложения для парсинга обычно пишут на C++, Delphi, Perl, Ruby, Python, PHP.

Данный сайт создавался для того, чтобы продемонстрировать методы парсинга на самых популярных языках веб-программирования – PHP, Ruby и Python.

См. также: Что понадобится?, Этапы парсинга, Импорт/экспорт контента, Синтаксический анализ, Экспорт данных