Что такое парсер (или скрапер)
Многие видели или слышали такие непонятные слова как “парсер” и “скрапер” от IT-специалистов. Но что же они означают? Почему они часто стоят рядом? Сегодня, мы предлагаем раз и навсегда разобраться в этих словах.
Что такое парсер
Парсер – это программа занимающаяся синтаксическим анализом. Например, есть язык программирования и какая-то программа, написанная на нем. Сначала парсер считывает программный код, далее этот код превращается уже в машинный код (нули и единицы), и после попадает в процессор для исполнения. В данном случае “синтаксический анализ” – это процесс считывания языка программирования и передача полученной информации другой подпрограмме.
Многие веб-программисты трактуют данный термин немного по другому, что не совсем корректно, хотя по смыслу очень похоже на “синтаксический анализ”. Они называют программы, которые считывают данные в интернете, парсерами. Хотя корректней это называть веб-парсерами.
Что такое веб-парсер
Веб-парсер – это программа, которая занимается считыванием какой-то информации в интернете. Например, нам нужно посчитать общее количество объявлений на какой-то странице avito.ru.
Только вот есть одно но: парсер – это когда нам это позволено делать. Иными словами, мы не нарушаем никаких законов и делаем все с разрешения владельца ресурса. Если мы это делаем в обход владельца ресурса, не спрашивает его разрешения, то это уже веб-скрапер.
Что такое скрапер
Скрапер – программа занимающая считыванием какой-то информации в интернете автоматически или вручную. Работает по такому же принципу как веб-парсер, только это более нелегальная вещь.
Например, мы хотим получить общее количество объявлений в разделе недвижимость на avito.ru. Допустим, avito.ru открыто предоставляет эту информацию по адресу avito.ru/api/estate/count. Если мы пишем программу, которая обращается к этой открытой странице и получает нужную информацию – это веб-парсер.
Если же подобной страницы нет, но нам очень нужна эта информация, мы начинаем сами перебирать с помощью своей программы страницы и считать объявления самостоятельно – это скрапер.
Где применяют парсинг и скрапинг
На самом деле много где. Есть программы, который считывают позиции сайта в поисковых системах. Есть почтовые клиенты по типу thunderbird, которым сначала нужно “спарсить” письма с почтового сервера, перед тем как положить к себе в хранилище и отобразить Вам. Есть программы для поиска нужной рекламной аудитории в социальных сетях (аля Таргет Церебро), которые перебирают (через скрапинг) тысячи страниц каждый день и составляют базу.
Наглядный пример веб-парсера
Или все таки скрапера? Смотря как использовать.
Давайте напишем простой парсер на Node.js. Автор используется v16.13.0.
Для начала, инициализируем проект c помощью NPM:
npm init
Установим Axios для работы с HTTP:
npm install axios
И установим пакет для работы с HTML – cherio:
npm install cheerio
Создадим файл index.js и добавим туда следующий код:
Запустим командой:
node index.js
В результате мы должны увидеть это:
<h1>Example Domain</h1>
С помощью такой незамысловатой программы мы получаем заголовок H1 с нужного нам сайта.
Итог
Надеемся из этой статьи Вы узнали что такое парсер, веб-парсер, и чем он отличается от скрапера. А также научились делать свой собственный веб-парсер.
Оставьте комментарий