редакции Выбор
Решения для парсинга сайтов: классификация и обзор программ, сервисов и фреймворков
Сбор данных вручную, особенно в больших объемах требует много времени и сил, и не исключает ошибок, связанных с человеческим фактором. А если такая информация нужна регулярно, то без помощи специальных программ выполнить такого рода задачу невозможно. Парсер соберет всю необходимую информацию по заданному алгоритму и выдаст информацию в нужном виде.
Кому и для чего может понадобиться парсинг
В Интернете слишком много информации, чтобы человек мог вручную ее обрабатывать. Можно по-разному использовать данные, полученные с помощью парсинга сайтов, некоторые варианты приведены ниже:
- Аналитики следят за изменением цен конкурентов;
- Управленцы следят за демпингом партнеров и получают бизнес показатели;
- Маркетологи изучают спрос на разные категории товаров, объемы продаж и другие показатели для составления прогноза;
- Продукт-менеджеры собирают информацию об изменении параметров продукции, проводят A/B тесты, меряют статистическую значимость;
- SEO-специалисты выявляют ключевые слова, заполнены ли все метаданные, проверяют наличие несуществующих страниц;
- Администраторы сайтов наполняют контентом интернет магазины, обновляют цены;
- Для личных целей можно собирать различные уроки, рецепты и любую другую информацию.
Парсинг не запрещен законодательством, при условии, что информация собирается из открытых источников. Это означает, что можно получить все те же данные что и при ручном сборе, но намного быстрее. Запрещается заимствование авторского контента, взлом сайта с целью получения личных данных пользователей, а также создавать высокую нагрузку на сайт во время парсинга.
Классификация программ и инструментов для парсинга
При регулярном использовании парсинга для бизнес задач, необходимо будет решить чьи ресурсы будет использовать программа, ваши или исполнителя. Для развертывания подобного решения вам потребуется выделенное место на сервере и специальный сотрудник для установки и эксплуатации софта. Работа программы будет потреблять мощности сервера и это довольно затратно. С другой стороны, такое решение может выйти дешевле, если вам нужно собирать информацию в промышленных масштабах.
Также существуют нюансы с политикой приватности, поскольку некоторые компании не разрешают хранить данные на сторонних серверах. Полученные данные могут сразу передаваться по API, к тому же это решается дополнительным пунктом в соглашении.
Удаленные решения
Главным преимуществом облачных программ (SaaS-решений) является то что они не используют ресурсы вашей техники, а находятся на удаленном сервере. Доступ к сервису происходит через браузер или специальное приложения, через которые вы получаете нужные вам данные.
Облачные решения, как и все готовые не гарантируют, что можно собрать данные абсолютно с любого сайта. Некоторые данные невозможно интерпретировать, например текстовые данные представленные изображением, или сайт может быть защищен, или сложная архитектура, которую парсер не понимает.
Рассмотрим популярные сервисы и условия работы.
ALL RIVAL— сервис для мониторинга цен конкурентов. Позволяет принимать решения о ценообразовании, создавая свои стратегии.

Особенности сервиса:
- Автосопоставление с возможностью ручной корректировки;
- Генерация различных отчетов и создание индивидуальных;
- Возможность следить за динамикой изменений цен на товары;
- Наличие видео-инструкции для быстрого старта;
- Возможность выгрузки данных по API.
Стоимость в месяц:
- Бесплатный тариф на 2 месяца;
- 3000 р/6000р/10 000р в зависимости от количества сайтов и проверок;
- Настраиваемый план для компаний с индивидуальными требованиями.
Octoparse — один из популярных облачных сервисов.

Особенности сервиса:
- Визуальный интерфейс для захвата данных;
- Не требующий знания программирования;
- Работает с динамическими элементами сайтов, такими как бесконечная прокрутка, окна авторизации, раскрывающиеся списки;
- Язык сервиса — английский;
Стоимость в месяц:
- Бесплатный план позволяет собрать до 10 000 значений и запустить параллельно 2 потока;
- Платные тарифы $89 и $249 с разным лимитом на парсинг данных;
- Настраиваемый план для компаний с индивидуальными требованиями.
Scraper API — сервис с подробной документацией и работающий через API.

Особенности сервиса:
- Автоматическое подставление прокси адресов и повторение неудачных запросов;
- Ввод капчи;
- Работает через API и требует знания кода;
- Язык сервиса — английский;
Стоимость в месяц:
- Бесплатно — 1000 вызовов API (до 5 одновременных запросов);
- Начальный и средний платный план 29$ и 99$ без таргетинга гео-данных прокси и без поддержки JavaScript;
- Бизнес план с поддержкой JavaScript и расширенными лимитами сбора данных;
- Специальный план для компаний с индивидуальными требованиями.
ScrapingHub — функциональный облачный сервис, включающий инструмент для ротации прокси серверов и браузер для парсинга, требующий написания кода.

Особенности сервиса:
- Сервис представляет набор инструментов, можно выбрать необходимые, в противовес удобству каждый инструмент нужно оплатить отдельно;
- Наличие API;
- Наличие видео уроков для быстрого старта;
- Язык сервиса — английский.
Стоимость прокси в месяц:
- Демо доступ с 10 000 запросами;
- $99 в месяц за 200 000 запросов и $349 за 2,5м запросов;
- Безлимитный сервис стартует от $999.
- Стоимость облачного хранилища для данных, в месяц:
- Бесплатный тариф ограничивает хранение данных 7 днями и время сканированием 1 часом;
- Платный тариф $9.
Стоимость браузера в месяц:
- $25/$50/$100 за доступ к браузеру на серверах с различной мощность.
- Стоимость настраиваемого сервиса под индивидуальные запросы рассчитывается индивидуально.
Mozenda — популярный сервис позволяющий работать в облаке и на локальной машине, имеет интерфейс для визуального захвата данных без знания программирования.

Особенности сервиса:
- Возможность вернуть деньги, если вы не сможете собрать нужные данные с помощью сервиса;
- Хорошая тех поддержка;
- Возможность парсить без знания программирования;
- Наличие API;
- Интеграция с различными сервисами, трекерами, Bl системами;
- Язык сервиса — английский.
Стоимость в месяц:
- Бесплатный тариф на 30 дней;
- Платные тарифы от $250 до $450 с различным набором включенных сервисов;
- Настраиваемый план для компаний с индивидуальными требованиями.
ScrapingBee — сервис предоставляет возможность парсить данные через браузер, требует знания программирования.

Особенности сервиса:
- Автоматическая смена прокси в случае блокировки;
- Наличие API;
- Возможность работать с Javascript;
- Плата не взимается, если парсер не сможет получить данные;
- Язык сервиса — английский.
Стоимость в месяц:
- Бесплатный тариф включает 1000 API обращений;
- $29, включает 250 000 запросов, прокси, отсутствие API;
- $99, включает 1 000 000 запросов, прокси и API;
- Настраиваемый план для компаний с индивидуальными требованиями.
Программы для парсинга
Эти программы устанавливаются на компьютер. Применяются для небольших и нерегулярных задач. Многие позволяют настраивать параметры сбора данных визуально.
Преимущества:
- Всегда под рукой, особенно, если установлены на ноутбуке;
- Часто имеют интерфейс визуального программирования.
Недостатки:
- Тратят ресурсы компьютера (вычислительную мощность, место на диске);
- Работают только на ОС, под которую написаны;
- Нет гарантии, что программа сможет собрать нужные данные, переключить листинг;
ParseHub — программа, позволяющая в визуальном виде, без знания программирования собирать данные с сайтов.

Особенности сервиса:
- Планировщик запуска парсинга;
- Поддержка прокси (нужно использовать свои);
- Поддержка регулярных выражений;
- Наличие API;
- Работа с JavaScript и AJAX;
- Хранение данных на серверах и выгрузка результатов в Google таблицы;
- Работает на Windows, Mac, Linux;
- Язык сервиса — английский.
Стоимость в месяц:
- Бесплатный тариф позволяет собрать данные с 200 страниц за запуск, с ограничением 40 минут, только текстовые данные, без ротации прокси;
- $149, 10000 страниц за запуск с ограничением 200 страниц в 10 минут, закачка файлов, прокси, планировщик;
- $499, неограниченное количество страниц за запуск с ограничением 200 страниц в 2 минуты, закачка файлов, прокси, планировщик;
- Индивидуальный тариф.
Easy Web Extract — простой инструмент для парсинга сайтов, не требующий знания программирования.

Особенности сервиса:
- Визуальное программирование;
- До 24 параллельных потоков;
- Парсинг сайтов с динамичным содержанием;
- Имитирует поведение человека;
- Планировщик;
- Сохранение файлов;
- Работает на Windows;
- Язык сервиса — английский.
Стоимость в месяц:
- Бесплатная версия на 14 дней, можно собрать до 200 первых результатов, экспортировать до 50 результатов;
- Разблокированная от ограничений версия стоит $39, дополнительная лицензия $29.
FMiner — визуальный инструмент для парсинга сайтов в интернете с интуитивно понятным интерфейсом. Работает с сайтами, требующими ввода форм и прокси серверами.

Особенности сервиса:
- Редактор для визуального программирования парсера;
- Парсинг динамических сайтов, использующих Ajax и Javascript;
- Многопоточное сканирование;
- Обход капчи;
- Работает на Windows, Mac;
- Язык сервиса — английский.
Стоимость в месяц:
- Бесплатная версия ограничена 15 днями;
- Basic версия стоит $168 и не имеет расширенных функций Pro версии;
- Pro версия включает отчеты, планировщик, настройка с javascript.
Helium Scraper — программа для многопоточного парсинга с возможностью собирать базы данных до 140 Tb.

Особенности сервиса:
- Визуальное программирование парсера;
- Парсинг динамических сайтов, использующих Ajax и Javascript;
- Многопоточное сканирование;
- Автоматическая ротация прокси серверов;
- Работает на Windows;
- Язык сервиса — английский.
Стоимость в месяц:
- Бесплатная полнофункциональная версия ограничена 10 днями;
- 4 тарифных плана от $99 до $699, они отличаются количеством лицензий и периодом основных обновлений.
WebHarvy Web Scraper — программа для парсинга сайтов с возможностью обнаружения паттернов в шаблонах веб-сайтов и последующей автоматической обработкой таких данных. Такая особенность существенно упрощает программирование парсера.

Особенности сервиса:
- Визуальное программирование парсинга;
- Парсинг динамически загружаемых сайтов, использующих Javascript и Ajax;
- Многопоточное сканирование;
- Поддержка прокси / VPN;
- Заполнение форм;
- Планировщик;
- Мультипоточность;
- Возможность собирать данные из списка ссылок;
- Работа с капчей;
- Работает на Windows;
- Язык сервиса — английский.
Стоимость в месяц:
- Бесплатная полнофункциональная версия ограничена 15 днями и возможностью захватить 2 страницы с сайта;
- 5 тарифных планов от $139 до $699 отличающиеся количеством лицензий.
По используемому фреймворку
При нестандартных задачах по сбору данных, нужно выстроить подходящую архитектуру, работать с множеством потоков. Если существующие решения вам не подходят, нужно писать парсер под свою задачу самостоятельно. Для этого нужны ресурсы, сервера, программисты и специальные инструменты, облегчающий написание и интеграцию программы для парсинга. Также потребуется постоянная поддержка, если изменится источник данных, нужно будет поменять код. Рассмотрим какие библиотеки существуют в настоящее время.
Парсинг сайтов Python
Для написания быстрых и эффективных программ подходят библиотеки для парсинга сайтов на Python. такие решения можно интегрировать с API. Все представленные ниже фреймворки имеют открытый исходный код.
Scrapy — наиболее распространенный фреймворк, хорошо структурирован, с подробной документацией и имеет большое сообщество.

Лицензия: BSD
BeautifulSoup — предназначен для анализа HTML и XML документов, имеет документацию на русском, особенности — быстрый, автоматически распознает кодировки.

Лицензия: Creative Commons, Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0)
PySpider — мощный и быстрый, поддерживает Javascript, нет встроенной поддержки прокси.

Лицензия: Apache License, Version 2.0
Grab — особенность — асинхронный, позволяет писать парсеры с большим количеством сетевых потоков, есть документация на русском, работает по API.

Лицензия: MIT License
Lxml — простая и быстрая библиотека для анализа больших документов, позволяет работать с XML и HTML документами, преобразовывает исходную информацию в типы данных Python, хорошо документирована. Совместима с BeautifulSoup, в этом случае последняя использует Lxml как парсер.

Лицензия: BSD
Selenium — инструментарий для автоматизации браузеров, включает ряд библиотек для развертывания, управления браузерами, возможность записывать и воспроизводить действия пользователя. Предоставляет возможность писать сценарии на различных языках, Java, C#, JavaScript, Ruby.

Лицензия: Apache License, Version 2.0
Парсинг сайтов на JavaScript
Cheerio — быстрый, анализирует разметку страницы и предлагает функции для обработки полученных данных. Работает с HTML, имеет API устроенное так же, как API jQuery.

Лицензия: MIT License
Apify SDK — является библиотекой Node.js, позволяет работать с JSON, JSONL, CSV, XML,XLSX или HTML, CSS. Работает с прокси.

Лицензия: Apache License, Version 2.0
Osmosis — написан на Node.js, ищет и загружает AJAX, поддерживает селекторы CSS 3.0 и XPath 1.0, заполняет формы.

Лицензия: MIT License
Парсинг сайтов на Java
Java также предлагает различные библиотеки, которые можно применять для парсинга сайтов.
Jaunt — библиотека предлагает легкий headless браузер (без графического интерфейса) для парсинга и автоматизации. Позволяет взаимодействовать с REST API или веб приложениями (JSON, HTML, XHTML, XML). Заполняет формы, скачивает файлы, работает с табличными данными, поддерживает Regex.

Лицензия: Apache License (Срок действия программного обеспечения истекает ежемесячно, после чего должна быть загружена самая последняя версия)
Jsoup — библиотека для работы с HTML, предоставляет удобный API для получения URL-адресов, извлечения и обработки данных с использованием методов HTML5 DOM и селекторов CSS. Поддерживает прокси. Не поддерживает XPath.

Лицензия: MIT License
HtmlUnit — не является универсальной средой для модульного тестирования, это браузер без графического интерфейса. Моделирует HTML страницы и предоставляет API, который позволяет вызывать страницы, заполнять формы, кликать ссылки. Поддерживает JavaScript и парсинг на основе XPath.

Лицензия: Apache License, Version 2.0
CyberNeko HTML Parser — простой парсер, позволяет анализировать HTML документы и обрабатывать с помощью XPath.

Лицензия: Apache License, Version 2.0
Расширения для браузеров
Парсинг сайтов с помощью расширения для браузера удобен в использовании. Нужен браузер и минимальная установка, захват данных не требует программирования, достаточно выделить нужную информацию.
ALL RIVAL extension — сервис ALL RIVAL также имеет расширение для браузера, с помощью которого можно быстро и удобно добавлять товары для сравнения.

Особенности сервиса:
- Сбор данных без программирование;
- Язык сервиса русский;
- Работает с браузером chrome;
- Автоматическое добавление товаров
- Сравнение цен на странице товара
- Выгрузка данных по API
Стоимость в месяц:
- Бесплатный тариф на 2 месяца
- 3000р/6000р/10 000р в зависимости от количества сайтов и проверок
- Настраиваемый план для компаний с индивидуальными требованиями.
Web Scraper.io — инструмент для парсинга сайтов выполненный в виде расширения для Chrome, сервис с большим набором опций и возможностью визуального программирования парсинга.

Особенности сервиса:
- Визуальный захват данных с сайта;
- Парсинг динамических сайтов с Ajax и Javascript, с возможностью прокрутки;
- Многопоточное сканирование;
- Автоматическая ротация прокси серверов;
- Работает с браузерами Chrome, Firefox;
- API;
- Передача результатов через Dropbox;
- Язык сервиса — английский.
Стоимость в месяц:
- Бесплатный тестовый период на 30 дней;
- 3 тарифных плана $19.9, $49.9, $199.9, отличаются количеством параллельных запросов и скоростью сканирования страниц.
Data miner — расширение для Google Chrome и Microsoft Edge, помогает собирать данные с сайтов с помощью простого визуального интерфейса.

Особенности сервиса:
- Сбор данных с сайта без программирования;
- Готовые шаблоны для 15 000+ популярных сайтов;
- Парсинг списка URL-адресов;
- Поддержка пагинации с дозагрузкой;
- Автоматическое заполнение форм;
- Работает с браузерами Chrome, Edge;
- Эмуляция поведения человека;
- Язык сервиса — английский;
Стоимость в месяц:
- Бесплатный аккаунт с возможностью парсить до 500 страниц в месяц;
- 4 тарифных плана $19, $49, $99, $199.9 отличающиеся количеством страниц которые вы можете парсить, от 500 до 9000;
Scraper.Ai — расширение с широким набором функциональности и демократичными ценами, работает с Chrome, Firefox и Edge.

Особенности сервиса:
- Сбор данных с сайта без программирования;
- Готовые шаблоны для Facebook, Instagram и Twitter;
- Поддержка пагинации с дозагрузкой;
- Автоматическое заполнение форм;
- Работает с браузерами Chrome, Firefox, Edge;
- Планировщик;
- Отслеживание изменений на сайте;
- Лимит на количество страниц для сохранения квоты;
- Язык сервиса — английский.
Стоимость в месяц:
- Бесплатный тариф на 3 месяца с возможностью парсить до 50 страниц;
- 3 тарифных плана $9, $49, $99 отличающиеся количеством страниц которые вы можете парсить.
В зависимости от решаемых задач
Мониторинг конкурентов
Самым востребованным направлением парсинга является мониторинг цен конкурентов. Вначале выполняется парсинг сайтов: вашего и ваших конкурентов. После получения информации, данные о товарах сопоставляются. Данную процедуру можно выполнять вручную, но при большом количестве товаров, удобнее воспользоваться автоматическим сопоставлением товаров.
Используя информацию, полученную при помощи парсинга, можно изучать поведение конкурентов, разрабатывать политику ценообразования и прогнозировать спрос на товары.
Стоимость таких сервисов зависит от количества сайтов и собираемых товарных позиций.
Организация совместных закупок
Для организации совместных покупок в социальных сетях используются подобные парсеры. Они собирают информацию о товарах и выгружают в сообщества Одноклассники и Вконтакте. Это дает возможность автоматизировать наполнение полок и отслеживать ассортимент, а также цены и наличие на сайтах поставщиков. Как правило, такими парсерами можно управлять через личный кабинет. Существует система уведомлений, настроенные интеграции для получения информации, возможность экспортировать данные и не требуют доработки.
Стоимость зависит от тарифного плана и количества сайтов.
Автоматизация интернет-магазинов
Такие сервисы позволяют автоматизировать наполнение карточек товара, собирая такие данные как изображения, характеристики, описание. Это позволяет в автоматизированном режиме добавлять товары и изменять цены. В качестве источника может выступать как xml или csv файл, так и сайт, с которого робот забирает информацию.
Парсинг SEO данных
Парсинг можно использовать для сбора результатов поиска, которые могут использоваться предприятиями для определения своих SEO-конкурентов. С помощью парсинга можно получить: теги заголовков и ключевых слова, на которые выполняется таргетинг, основные ключевые слова, привлекающие трафик на сайты, категории контента, привлекающие внимание пользователей, виды ресурсов, необходимые для повышения рейтинга сайта. Рассмотрим популярные сервисы, чтобы вы могли подобрать подходящий.
Site Analyzer — парсинг-программа для проверки основных технических и SEO данных сайтов. Главная особенность — программа полностью бесплатна. Работает на локальном компьютере, доступна только для ОС Windows.

Особенности программы:
- Не требовательна к ресурсам компьютера;
- Проверка страниц, изображений, скриптов и документов;
- Проверка кодов ответа (200, 404...);
- Проверка заголовков;
- Поиск дубликатов страниц;
- Анализ внутренних и внешних ссылок;
- Работает на Windows;
- Экспорт данных в CSV, Excel, PDF;
- Локализация на 17 языков, в том числе русский;
Стоимость:
- Бесплатно.
Screaming Frog SEO Spider — мощная и популярная программа для СЕО аудита сайта. Парсер зарекомендовал себя как один из лучших в своем классе и предоставляет широкий функционал для проведения SEO анализа.

Особенности программы:
- Требовательна к ресурсам компьютера;
- Поддержка API Google Analytics и Google Search Console (Google Webmaster);
- Поддержка User-Agent;
- Поддержка редиректов URL-адресов (локальный htaccess);
- Планировщик;
- Настраиваемая конфигурация сканирования;
- Проверка страниц, изображений, скриптов и документов;
- Проверка кодов ответа (200, 404...);
- Проверка заголовков Title, Description, Сanonical;
- Поиск дубликатов страниц;
- Анализ внутренних и внешних ссылок;
- Работает на Windows, MacOS, Ubuntu;
- Экспорт данных;
- Англоязычный интерфейс.
Стоимость:
- Бесплатная версия ограничена сканированием 500 адресов и урезанной функциональностью;
- Платная полнофункциональная версия £149.99.
ComparseR — специализация программы аналитика индексации сайта в поисковых системах Яндекс и Google. Вы сможете выяснить какие страницы находятся в поиске, а какие нет и проанализировать их.

Особенности программы:
- Поиск страниц, находящихся в индексе;
- Поддержка регулярных выражений при настройке;
- Авто ввод капчи;
- Проверка кодов ответа (200, 404...);
- Проверка заголовков Title, Description, Сanonical;
- Поиск дубликатов страниц;
- Анализ внутренних и внешних ссылок;
- Работает на Windows;
- Экспорт данных;
- Русскоязычный интерфейс.
Стоимость:
- Бесплатная версия парсит первые 150 страниц или первые 150 результатов выдачи;
- Платная полнофункциональная версия стоит 2000 руб. без ограничения по времени.
Парсеры на основе таблиц
Подобные парсеры собирают данные и выгружают сразу в таблицы excel и google sheets. В основе действия таких парсеров лежат специальные формулы извлекающие информацию с сайтов или макросы автоматизирующие действия. Такие парсеры можно использовать, когда данные не защищены и находятся на простых, не динамичных сайтах.
ParserOk — парсинг сайтов на основе vba(макросов) в таблицы Microsoft Excel. Надстройка позволяет импортировать данные с сайтов по заранее созданным шаблонам и относительно проста в настройке. Недостатком является то, что если шаблон не соответствует вашему запросу, то потребуется доработка.

Стоимость лицензии составляет 2700 р., версия рассчитана на 10 дней.
Функции google sheets — importhtml и importxml — функции позволяющие импортировать данные прямо в таблицы. При помощи этих функций можно организовать несложный сбор данных по заранее запрограммированным входным данным. Знание языка запросов «Xpath» существенно расширит область применения формул.
Настраиваемые решения для парсинга
Подобные сервисы разрабатываю парсер под вашу задачу индивидуально. Специально разработанное решение соберет все необходимые вам данные и предоставит в нужном вам виде. Например, если вам нужны определенные типы данных и специфический формат на регулярной основе. Такие программы соберут информацию даже с защищенных сайтов, и случае изменения источника данных, вам не придется нанимать специального сотрудника для доработки парсера.
Стоимость решений с индивидуальным парсингом рассчитывает под каждую задачу. Однако, если вам нужно получать данные на регулярной основе с нескольких сайтов, то это выгоднее, чем приобретать готовое решение и дорабатывать его самостоятельно. Помимо работы программиста, вам также понадобиться содержать сервер и специальный сотрудник для поддержки программы.
Примеры подобных сервисов есть в начале статьи в разделе облачных парсеров, многие из них предлагают настраиваемые решения.
Как правильно выбрать парсер
- Первым шагом необходимо определить задачу: мониторинг цен, анализ товаров, SEO данные, машинное обучение, автоматизация процессов;
- Выберете источники данных: сайты конкурентов, источники данных для обучения, файлы;
- Определите примерный объем данных;
- Определите с какой периодичность вам нужно получать информацию.
Для сбора данных с небольшим объемом, может подойти программное решение или расширение для браузера. При условии, что у вас есть сотрудник, который сможет заниматься этой задачей.
Если вам нужен парсинг сложных сайтов на регулярной основе, оптимальным решением будут облачные сервисы.
Для сложных задач связанным с жизнеспособностью проекта стоит обратить внимание на облачные решения с возможностью программирования или библиотеки для парсинга. Для такой задачи необходимо выделить программиста и серверные мощности.
Если вам нужно быстро и качество решить задачу, стоит обратиться в компанию для реализации парсинга под ключ.