В данном материале мы детально разберём разницу между двумя концепциями анализа данных, которые размещаются на различных источниках в сети (на веб-сайтах), покажем для чего, когда и какие методы применяются, в чём их преимущества и недостатки.
Данные не всегда записаны в том виде, в котором их удобно обрабатывать. Простой пример — сложный и нечитаемый адрес сайта на бумажной визитке менеджера. Получается, чтобы клиент мог обратиться к этим данным (преобразовать из нарисованного вида в символьный ввод внутри адресной строки браузера), буквы, цифры и другие знаки нужно вручную набрать на клавиатуре.
Но формат можно изменить, нанеся на визитку QR-код или используя NFC-метку. Тогда нужную информацию можно будет легко прочитать с помощью специальных программ. И пользователь не ошибётся, и процесс ввода будет проходить заметно быстрее.
Примерно такая же ситуация бывает, когда искомые данные, хранящиеся на жестком диске компьютера, находятся фактически в «нечитаемом» виде, то есть, несовместимом с программами. Ведь каждая программа рассчитана на чтение только тех форматов, которые предусмотрели её разработчики. А если имеющиеся форматы не поддерживаются, то и прочитать файл программа не сможет.
Теперь ещё пример: представьте, что вам нужно собрать базу email-адресов, но они хранятся внутри PDF-файлов, изображений (фотографий визиток), почтового клиента, в деловых документах и т.п. Как собрать нужную информацию в одном месте и заодно преобразовать в более удобный (читаемый) формат?
Поможет программа-парсер (скрейпер). Она умеет открывать файлы разных типов, находить в них нужную информацию и сохранять данные в другом формате (обычно в виде таблиц или списков, но могут быть и другие форматы, например, разметка XLM и т.п.).
Процесс поиска информации и преобразования её в новый вид/формат называют парсингом или скрейпингом.
Ранее мы рассказывали о том, что такое парсинг.
От англ. scraping — «соскоб» или «выскабливание». В итоге получаем следующее определение.
Скрапинг – это процесс поиска и преобразования данных в более удобный формат, пригодный для анализа, хранения, индексирования и т.п.
Веб-скрапинг, как можно понять из приставки «веб» – это поиск и преобразование в удобный формат web-данных. То есть информации, размещённой на страницах сайтов и сервисов в сети Интернет.
Тут важно заметить, что современные информационные системы могут работать с разными форматами информации. Но информация хранится не только в Глобальной сети. Поэтому существуют и оффлайн-парсеры (программы-скрейперы), предназначенные для работы с локальными файлами пользователей.
Наибольшее распространение получили именно веб-скрейперы. Почему?
Веб-скрейперы могут работать как самостоятельное ПО на оборудовании пользователя (на его ПК или на виртуальном/выделенном сервере), либо развёртываться в облаке (предоставляться как услуга, формат SaaS или PaaS). В отдельных случаях скраперы могут входить в состав более сложных программных комплексов как один из элементов системы.
Задачи и цели web-скрейперов могут быть любыми, от положительных, нацеленных на созидание и улучшение, до отрицательных, нацеленных на промышленный шпионаж, на обнаружение дыр в безопасности и т.п.
Наиболее востребованные задачи – для бизнеса:
Если с плюсами парсеров/скраперов всё более-менее понятно (это помощь в решении прикладных задач), то о минусах мало кто говорит. Исправим эту несправедливость.
На всякий случай расскажем и о плюсах.
Crawling – от англ. «ползание», в русском варианте применительно к сайтам используется термин «обход» или «сканирование».
Что интересно, существительное «краулер» (Crawler) переводится как «ползающее насекомое». Но в русскоязычной версии веб-краулер стали переводить как «паук», поисковый робот или просто бот. «Паук», видимо, лучше ассоциируется с интернет-паутиной, чем просто «насекомое».
Веб-краулер – это специальный скрипт, который обходит сайты в поисках нового контента и изменений. Веб-мастера называют этот процесс индексированием.
Но чисто технически процесс сканирования (индексирования) мало чем отличается от парсинга или от скрейпинга.
Механизм сканирования происходит примерно так:
При простом скрейпинге проводятся аналогичные операции, данные со страниц тоже собирает специальный скрипт, но отдаются и хранятся они не в поисковой системе, а на серверах или на рабочих компьютерах пользователей.
Итак, на всякий случай расставим точки.
Веб-сканирование (webcrawling) – это процесс анализа содержимого всех страниц отдельно взятого сайта с целью их ранжирования при релевантном поиске. Задача поискового бота – «понять» и «увидеть» содержимое страницы, как это сделали бы обычные пользователи.
В отличие от потенциально паразитного трафика, который приносит с собой процедура скрапинга (парсинга), сканирование – это крайне желанный процесс для сайта. Ведь по результатам краулинга сайт может добавиться в поисковую выдачу или повыситься в позициях, если он там уже был.
Для поисковых краулеров даже создаются специальные файлы настроек и карты, где вебмастер (владелец сайта) может подсказать, что нужно сканировать, а что нет, какие материалы появились, а какие исчезли и т.д. Это делается с помощью специальных директив в файлах robots.txt, с помощью XML-карт, а также с помощью специальных HTML-тегов внутри страниц.
Как можно было понять из описания, скрейпинг проводится пользователями или владельцами бизнеса в своих собственных целях: для поиска или анализа контента, для его извлечения или для преобразования в удобный формат.
Цели парсинга (скрейпинга) сугубо коммерческие. Для проведения процедуры используется специальный софт и ряд решений для обхода блокировок и для распараллеливания процессов, например, ротируемые прокси.
Цель web-сканирования – добавление в поиск и индексирование. Это нужно владельцам сайтов, поэтому пауков поисковых систем (поисковых ботов) никто не блокирует. Наоборот, их ждут и заранее готовят информацию о том, что и где нужно сканировать.
При скрейпинге данные собираются и перерабатываются в соответствии с критериями поиска, например, выделяются только контактные данные или тело комментариев, находятся упоминания компаний, брендов и пр. Информация может быть выгружена и сохранена в любое место, удобное клиенту – для последующей обработки и анализа. Обычно поддерживаются все табличные форматы экспорта.
При сканировании информацию обрабатывают только поисковые машины, она никуда не экспортируется. Сторонние люди доступа к таким данным не имеют.
Если говорить о технических нюансах, то фактически различия неочевидны. Любой парсер может представиться поисковым ботом или веб-браузером и действовать от его лица. Данные со страниц собираются в одном и том же формате – в виде HTML-кода.
Различия только в целях обработки таких данных и в технических возможностях для клиентов.
Поисковым ботам не нужны прокси или другие механизмы защиты от блокировки. Если сайт не хочет, чтобы его индексировали – это его проблемы. Краулер просто перейдёт к другому веб-ресурсу в очереди на сканирование.
Парсерам (скраперам) же наоборот, нужно собрать информацию с сайта несмотря ни на что. Именно поэтому в составе программ могут использоваться специальные модули обхода защиты, подключения списков прокси, распознавания капчи, эмулирования поведения реальных пользователей и т.п.
Термин «веб-сканирования» (краулинг) связан с индексированием контента страниц и нужен самим сайтам (владельцам ресурсов), чтобы данные о них попали в органический поиск.
Слово «скрейпинг» в русском языке не прижилось, вместо него чаще используется слово «парсинг». Процедура парсинга связана исключительно с коммерческими целями и задачами: мониторинг, аналитика, поиск, извлечение и т.п.
Но при этом технические процедуры сканирования и парсинга во многом похожи. И там, и там собирается и анализируется HTML-код страниц.
Если вас интересует именно парсинг (скрейпинг) данных, то без дополнительных вложений никак не обойтись. Даже если вы используете профильный софт, к нему придётся подключать список прокси, чтобы исследуемые сайты не заблокировали IP-адрес устройства, отправляющего запросы.
Читайте также: Как генерировать случайный IP-адрес для каждой из ваших сессий
Лучшим решением для обхода блокировок станут резидентные или мобильные прокси.
Купить пакеты мобильных и резидентных прокси можно у нас. Froxy – это более 8 млн ротируемых IP, удобная панель управления и до 1000 параллельных портов. Точность выбора адреса – вплоть до нужного города и оператора связи. Оплачивается только трафик.