Парсер (от английского слова parse – разбор, анализ) – в общем случае, программа или ее часть, выполняющая синтаксический анализ текста. Отвечая на вопрос: “Что такое парсер?” необходимо упомянуть, что этого термина может быть несколько значений. Наиболее часто используются:
- Парсер сайтов.
- Парсер транслятора.
- Парсер баз данных в текстовом формате.
- Язык программирования “Парсер”.
Парсер сайтов
Парсер сайтов – программа, собирающая размещенную на сайтах необходимую информацию; выполняющая последовательный синтаксический анализ найденных данных, их преобразование и сохранение.
Где и зачем применяется?
Парсинг – очень востребованная услуга на специализированных форумах и биржах фрилансеров. Иногда заказчика интересует сама программа, способная собирать в интернете и систематизировать определенную информацию, иногда – сама информация в удобном виде. Обычно полученные таким образом данные используют при необходимости:
Наполнения контентом новых веб-сайтов. Каждый владелец ресурса сталкивается с непростой проблемой – чем его заполнить? В настоящее время конкуренция в интернете очень высока. Чтобы сайт попал в топы поисковых систем, а значит – стал популярным и легко доступным для большого числа пользователей, разнообразного контента на нем должно быть не просто много, а так много, что создать его самостоятельно и вручную выложить за разумное время – задача из области фантастики. Привлечение копирайтеров и рерайтеров – решение дорогостоящее и тоже требующее времени.
Текущего обновления данных, быстро теряющих актуальность. Исходная информация часто бывает расположена на разных сайтах, ее обновление может требоваться как ежедневно (для данных о погоде), так и ежеминутно или чаще (для биржевых сводок). В этом случае намного проще и дешевле вместо исполнителей, склонных уставать и ошибаться, загрузить работой специализированную программу.
Какие языки программирования подходят для написания таких парсеров
Для написания парсеров используют, как правило, языки программирования с поддержкой регулярных выражений, предназначенных для формального описания искомого текста. Это могут быть серверные языки:
- Perl,
- PHP,
- Ruby.
Или обычные, для написания программ, выполняемых на клиентских компьютерах:
- C,
- C#,
- Delphi,
- другие.
Из каких частей состоит парсер сайтов
Исходя из своего предназначения, программа должна состоять из трех частей, выполняющих следующие функции:
- Поиск в интернете и скачивание в исходном виде кода страниц, содержащих требуемую информацию.
- Анализ полученного кода, извлечение и преобразование найденных данных. Обычно в этой части активно используют регулярные выражения.
- Формирование конечного результата. На этом этапе извлеченные данные выводятся и сохраняются в нужном формате.
- Сохранение может происходить как на домашнем компьютере, так и в серверной базе данных.
Парсер транслятора
Парсер транслятора – неотъемлемая часть любого транслятора (как интерпретатора, так и компилятора), выполняющая анализ программы, написанной на любом языке программирования, и преобразующая текст во внутреннее представление, необходимое для последующей работы. Без этого программистам пришлось бы писать свои программы непосредственно в машинных кодах в виде единичек и ноликов, понятных процессору компьютера.
Парсер баз данных в текстовом формате
Существуют базы данных, информация в которых хранится в текстовом формате (XML, CSV и т. д.). Для извлечения таких данных нужен парсер, способный находить определенные поля и записи.
Язык программирования “Парсер”
Разрабатываемый с 1997 Студией Лебедева язык для создания сайтов. Это простой (чуть сложнее в изучении HTML) язык, позволяющий создавать без больших усилий и временных затрат сложные динамические веб-сайты даже непрофессионалам.”