А

Автоброкер — механизм автоматической оптимизации цены клика, действующий в интересах рекламодателя для снижения его расходов. С 26.02.2015 в Яндекс.Директе действует постоянная (не подлежащая произвольному отключению) функция автоброкера для всех объявлений. До этой даты система предоставляла рекламодателю выбор — использовать автоброкер или нет.

Аукцион

Аукционная война

 

Б

База Пастухова

 

В

Визитка

Временной таргетинг

 

Г

Гарантия

Гарантированные показы

Геотаргетинг

Географический таргетинг — см. Геотаргетинг

 

Д

Динамика

Динамические показы

 

К

Клик

Кликабельность (см. также Показатель кликабельности)

Конверсия

Конкуренция

Контекстная реклама

Контент

 

Л

Лендинг

 

М

Метрика

Минимальная цена за клик

Мобильная версия сайта

Модерация

 

П

Парсинг — автоматизированный сбор контента или данных с какого-либо сайта или сервиса. Программа, осуществляющая сбор, анализ и преобразование требуемой информации называется парсером. Результат парсинга чаще всего складывается в базу данных, в файл, либо выдается в формате XML.

Термин парсинг используется не только в IT-сфере. В лигвистике…

 

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

Заметим, что парсинг — это, по сути, преобразование данных из неудобоваримого формата в формат удобованимый. То есть, например, разбор и импорт RSS ленты, парсингом не является, поскольку формат RSS является подмножеством стандартного формата XML.

Фазы парсинга

Любой парсер состоит из трех частей, которые отвечают за три отдельных процесса парсинга:

  1. Получение контента в исходном виде. Под получением контента, чаще всего подразумевается скачивание кода веб-страницы, из которой необходимо извлечь данные или контент. Одним из самых развитых решений для получения кода требуемой страницы является библиотека cURL для языка PHP;
  2. Извлечение и преобразование данных. В этой фазе происходит извлечение требуемых данных из полученного, на первом этапе, кода страницы. Чаще всего для извлечения используют регулярные выражения. Также на этом этапе происходит преобразование извлеченных данных к нужному формату, если это требуется;
  3. Генерация результата. Завершающий этап парсинга. На нем происходит вывод или запись полученных, на втором этапе, данных, в требуемый формат. Чаще всего, запись ведется напрямую в базу данных.

В качестве примера можно рассмотреть статью о создании парсера на PHP. Созданный в ней парсер, состоит ровно из трех, приведенных выше, частей.

Синтакси?ческий ана?лиз (жарг. па?рсинг) в лингвистике и информатике — процесс сопоставления линейной последовательности лексем (слов, токенов) естественного или формального языка с его формальной грамматикой. Результатом обычно является дерево разбора (синтаксическое дерево). Обычно применяется совместно слексическим анализом.

Синтаксический анализатор (жарг. па?рсер) — это программа или часть программы, выполняющая синтаксический анализ.

Пример разбора выражения в дерево

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

Как правило, результатом синтаксического анализа является синтаксическое строение предложения, представленное либо в видедерева зависимостей, либо в виде дерева составляющих, либо в виде некоторого сочетания первого и второго способов представления.

Всё что угодно, имеющее «синтаксис», поддается автоматическому анализу.

Простейший способ реагирования на некорректную входную цепочку лексем — завершить синтаксический анализ и вывести сообщение об ошибке. Однако часто оказывается полезным найти за одну попытку синтаксического анализа как можно больше ошибок. Именно так ведут себя трансляторы большинства распространённых языков программирования.

Таким образом перед обработчиком ошибок синтаксического анализатора стоят следующие задачи:

  • он должен ясно и точно сообщать о наличии ошибок;
  • он должен обеспечивать быстрое восстановление после ошибки, чтобы продолжать поиск других ошибок;
  • он не должен существенно замедлять обработку корректной входной цепочки.

Ниже описаны наиболее известные стратегии восстановления после ошибок.

Восстановление в режиме паники[править | править вики-текст]

При обнаружении ошибки синтаксический анализатор пропускает входные лексемы по одной, пока не будет найдена одна из специально определенного множества синхронизирующих лексем. Обычно такими лексемами являются разделители, например: ;, ) или }. Набор синхронизирующих лексем должен определять разработчик анализируемого языка. При такой стратегии восстановления может оказаться, что значительное количество символов будут пропущены без проверки на наличие дополнительных ошибок. Данная стратегия восстановления наиболее проста в реализации.

Восстановление на уровне фразы[править | править вики-текст]

Иногда при обнаружении ошибки синтаксический анализатор может выполнить локальную коррекцию входного потока так, чтобы это позволило ему продолжать работу. Например, перед точкой с запятой, отделяющей различные операторы в языке программирования, синтаксический анализатор может закрыть все ещё не закрытые круглые скобки. Это более сложный в проектировании и реализации способ, однако в некоторых ситуациях, он может работать значительно лучше восстановления в режиме паники. Естественно, данная стратегия бессильна, если настоящая ошибка произошла до точки обнаружения ошибки синтаксическим анализатором.

Продукции ошибок[править | править вики-текст]

Знание наиболее распространённых ошибок позволяет расширить грамматику языка продукциями, порождающими ошибочные конструкции. При срабатывании таких продукций регистрируется ошибка, но синтаксический анализатор продолжает работать в обычном режиме.

См. также[править | править вики-текст]

ПО для разработки анализаторов[править | править вики-текст]

  • ANTLR — генератор парсеров
  • Bison — генератор парсеров
  • Coco/R — генератор сканера и парсера
  • GOLD — парсер
  • gppg — генератор парсеров для языка C# [1]
  • JavaCC — генератор парсеров для языка Java
  • Lemon Parser — генератор парсеров
  • Lex — генератор сканеров
  • LRgen — генератор сканеров и парсеров
  • PEG.js — генератор парсеров для Javascript [2]
  • Jison — генератор парсеров для Javascript [3]
  • Ragel — генератор встраиваемых парсеров [4]
  • Rats! — генератор парсеров для Java [5]
  • Rebol
  • SableCC — генератор интерпретаторов
  • Spirit Parser Framework — генератор парсеров
  • Xerces — XML-парсер
  • Yacc — генератор парсеров
  • SHProto — генератор FSM-парсеров [6]
  • AGFL — генератор парсеров естественного языка [7]

Литература[править | править вики-текст]

  • Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман. Компиляторы: принципы, технологии и инструментарий = Compilers: Principles, Techniques, and Tools. — 2-е изд. — М.: Вильямс, 2008. — ISBN 978-5-8459-1349-4.
  • Робин Хантер Основные концепции компиляторов = The Essence of Compilers. — М.: «Вильямс», 2002. — С. 256. — ISBN 5-8459-0360-2.

 

Подпорка

Показатель кликабельности (CTR)

Посадочная страница

 

Р

Реклама

Рекламная кампания

Рекламная сеть Яндекса

Рекламное объявление

Рекламодатель

РСЯ — см. Рекламная сеть Яндекса

 

С

Скликивание

Слив бюджета

Спецразмещение

Ставка

Стратегия показа рекламных объявлений

 

Т

Таргетинг

 

Ф

Формат рекламного объявления

 

Ц

ЦТР — см. CTR

 

Я

Яндекс

Яндекс.Директ

Яндекс.Метрика — см. Метрика