Web Scraping

Web Scraping — это автоматическое извлечение данных с веб-страниц в соответствии с заданными параметрами.
Специальная программа сканирует сайт и копирует его данные: тексты, изображения, аудиофайлы и так далее. Затем систематизирует их и сохраняет, к примеру, в таблицу формата CSV. Таким образом, можно выгрузить целый каталог интернет-магазина, библиотеку или любую другую базу данных. Конечно, если она находится в открытом веб-доступе.
Свяжите сервисы между собой без программистов за 5 минут!
Web Scraping не всегда используют для заранее выбранных ресурсов. Так, бывают ситуации, когда нужно собрать конкретные типы данных, но на каких сайтах они находятся — неизвестно. В таких случаях используют поискового бота, или краулера. Он ищет нужные данные в интернете, а после этого сообщает о них скрейперу — программе, которая непосредственно занимается извлечением. Краулеры и скрейперы разрабатывают индивидуально под нужды каждого конкретного проекта.
Некоторые ресурсы сами предоставляют быстрый доступ к данным через API. Например, интернет-магазин таким образом может делиться снимками и характеристиками товаров из своего каталога с партнерами. Если же подобной функциональности не предусмотрено, на помощь приходит Web Scraping.
Настроить интеграцию без программистов ApiX-Drive
Статьи о маркетинге, автоматизации и интеграциях в нашем Блоге
Что такое веб-скрейпинг и как он работает
Что такое web-scraping и зачем он нужен. Как он работает и чем отличается от парсинга. Насколько законно извлекать данные с сайта и как их применять. Какие сервисы лучше использовать для безопасного веб-скрейпинга: список проверенных инструментов.
Веб‑скрейпинг — технология, которая может быть полезной для SEO‑продвижения сайта.
Рассказываем, каким бывает веб‑скрейпинг, как он работает и как с его помощью получить полезные данные, а также какие инструменты использовать для скрейпинга и как защититься от его незаконной и вредной формы.
Что такое веб‑скрейпинг
Веб‑скрейпинг (web scraping, буквально «выскребание, соскабливание веба») — автоматизированный процесс извлечения данных с сайта.
Когда мы находим на сайте какую‑то информацию и копируем её к себе в документ, то, по сути, занимаемся скрейпингом, но в очень маленьком объёме.
В рамках веб‑скрейпинга данные собираются автоматически в больших объёмах — с помощью ботов. Под ботом имеется в виду любая программа, собирающая данные с веб‑сайтов. Это может быть готовая программа, которую надо установить на компьютер, веб‑приложение или самописный сервис.
Боты‑скрейперы получают HTML‑код интересующих страниц сайта, разбирают его по определенным правилам, заданным для скрейпинга, и таким образом превращают любую нужную информацию с сайта в читаемый формат.

Чем скрейпинг отличается от парсинга данных
Скрейпинг и парсинг легко спутать, потому что эти понятия часто используют как взаимозаменяемые. Разобраться можно, если узнать дословный перевод слов to scrape и to parse.
Скрейпинг (от глагола to scrape — «соскребать, собирать») — автоматизированный сбор данных, как мы уже писали.
Парсинг (от глагола to parse — «разбирать») — процесс, на котором из скачанных данных извлекается нужная информация и превращается в нужный нам читаемый формат. Проще говоря, второй этап веб‑скрейпинга.
В статье мы не будем углубляться в термины, а расскажем о процессе полностью, называя его «веб‑скрейпинг».
Зачем нужен веб‑скрейпинг
У скрейпинга много сфер применения:
- Отслеживание цен на товары в интернет‑магазинах
Собирая информацию о ценах на разных платформах (сайтах, маркетплейсах), можно вовремя корректировать цены и обходить конкурентов.
- Извлечение описаний товаров и услуг
Это поможет улучшить свои описания товаров и услуг с опорой на тексты конкурентов.
- Мониторинг новостей и объявлений
Инструмент для отслеживания интересных тем и создания актуального контента.
- Сбор данных для аналитики
С помощью скрейпинга можно собрать лайки, репосты, комментарии в одну таблицу и оценить эффективность своего контента или даже провести маркетинговое исследование.
Вы наверняка видели подобные исследования в интернете:

Для них нужно довольно много данных — вручную такое не собрать. И здесь снова понадобится веб‑скрейпинг.
- Извлечение контактной информации
С помощью скрейпинга можно получить адреса электронной почты, телефоны, прочие контактные данные и свести в одну таблицу — она пригодится для ретаргетинга.
- Мониторинг репутации бренда
Скрейпинг также используется для отслеживания упоминаний о бренде/продукте, чтобы компания могла вовремя реагировать на изменение тональности упоминаний.
Какой бывает веб‑скрейпинг
Законность или незаконность той или иной формы сбора данных зависит от юрисдикции: то, что разрешено в одной стране, может быть запрещено в другой. Мы рассказываем о скрейпинге с точки зрения того, что мы и наши читатели — в России.
Условно скрейпинг делится на хороший и плохой.
Законный (хороший)
- Работа ботов поисковых систем. Они просматривают сайт, анализируют его контент и индексируют.
Этот вид скрейпинга нужен, чтобы сайт попал в результаты выдачи. Без этого пользователи не увидят наш сайт.

Подробно о ботах поисковых систем, процессах сканирования, фильтрации и индексации мы рассказываем во втором модуле нашего бесплатного курса по SEO.
- Сбор данных агрегаторов / сайтов сравнения цен. Они используют ботов для извлечения цен и описаний продуктов, создавая сравнения сайтов похожих продавцов.
В результате мы можем видеть информацию с разных сайтов в одном каталоге:

- Маркетинговые (и не только) исследования. При создании таких исследований компании задействуют ботов, которые извлекают сообщения из соцсетей и форумов и затем сводят их в один документ.
Пример такого исследования мы привели выше, в разделе «Зачем нужен веб‑скрейпинг».
Незаконный (плохой)
Формально парсинг и скрейпинг в России не запрещены. Но некоторые виды скрейпинга условно считаются плохими, и сайты стараются их пресекать:
Сайты активно защищаются от сбора данных о ценах: конкуренты часто скрейпят друг друга, снижая свои цены и вызывая таким образом ценовой демпинг.
Чаще всего такое происходит в отраслях, где товары можно легко и быстро сопоставить, а цена играет решающую роль при покупке. То есть это не дешёвые товары повседневного спроса, а то, что человек считает крупной покупкой: авиа‑ и ж/д‑билеты, туристические путёвки, электроника и бытовая техника.
От этой формы скрейпинга нужно активно защищаться, поскольку огромное количество созданного вручную контента можно легко вытащить с вашего сайта и скопировать на другой ресурс.
❗️Получается, что и боты, которые собирают данные с сайтов, условно делятся на «плохих» и «хороших». Есть пара признаков, по которым их можно узнать:
- «Хорошие» боты действуют согласно директивам из файла robots.txt. В этом файле веб‑мастер прописывает, как обходить конкретные страницы сайта — например, какие индексировать, какие нет. «Плохие» боты игнорируют robots.txt и ходят по всем страницам сайта.
- «Хороший» бот обычно ссылается на организацию, которая «послала» его исследовать страницы. Запись (referer), показывающая, к какой организации бот относится, обычно прописана в HTTP‑заголовке бота. «Плохие» боты имитируют естественный трафик, ничего не указывая, будто на сайт зашёл человек.
От «плохих» ботов сайты защищаются с помощью различных технологий: распознавание репутации IP, введение прогрессивных задач, проверка HTTP‑заголовка, анализ поведения посетителей. Подробнее об этом в следующем разделе.
Нам важно про это знать не только ради защиты своего сайта, но и чтобы самим не оказаться «плохим» ботом. О том, как безопасно извлекать данные и не попадать под блокировки, в разделе «Как безопасно извлекать данные с сайта».
Как защититься от веб‑скрейпинга
Есть несколько способов. Чаще всего их используют вместе:
- Анализировать поведение посетителей сайта
Обычно ботов от реальных посетителей отличает то, что они делают много запросов за короткий период времени, а ещё просматривают страницы в нелогичном порядке — не как человек.
Когда попытки доступа к сайту определены как принадлежащие боту, они блокируются.
IP‑адрес — уникальный адрес конкретного компьютера (как номер телефона). Сайты хранят информацию об IP‑адресах, с которых к ним обращались.
IP‑адреса, которые в прошлом использовались для подозрительной активности, рассматриваются очень внимательно, и их доступ к сайту может быть заблокирован.
- Проверять HTTP‑заголовки
Поможет база HTTP‑заголовков браузеров, которые обращались к сайту и были опознаны как вредоносные: все следующие запросы проверяются через эту базу данных.
- Давать на выполнение прогрессивные задачи
Такие задачи предлагают выполнить пользователям, которые заходят с подозрительного IP‑адреса.
Самый простой пример — CAPTCHA (капча — «найдите все светофоры на картинке» и прочие). Боты не умеют её проходить, потому что для выполнения такой задачи нужно подключить логику или совершить осмысленные действия, что подвластно только человеку.
Благодаря прогрессивным задачам реальные посетители могут пользоваться сайтом неограниченно, а боты — нет. Правда, скрейпинг становится всё совершеннее и всё легче обходит простые прогрессивные задачи, которые, в свою очередь, тоже постоянно усложняются.
Как безопасно извлекать данные с сайта
Получается, когда мы скрейпим данные чужого сайта, нам нужно обойти защиты, о которых мы написали выше.
Вот как это сделать (можно использовать один способ, комбинировать несколько или задействовать все сразу):
- Установить корректный User‑Agent
При посещении сайта клиентское приложение — браузер — посылает серверу информацию о себе, которая начинается со строки User‑agent:’. Там содержится информация о приложении, его версии, ОС компьютера и языке.
В этой строке нужно корректно указать всю требуемую информацию, потому что запросы от неизвестных браузеров часто блокируют.
О нём мы писали выше. Укажите в HTTP‑заголовке запроса, с какого сайта вы пришли, чтобы вас пропустили. Вот как это выглядит:
- Подключить программу для решения прогрессивных задач (CAPTCHA)
Например, 2Captcha. Сервис платный — от 44 рублей за 1 000 решённых задач, подключается через API.
- Задать случайные интервалы между запросами к сайту
Пользователи не заходят на сайт тысячу раз в минуту и не сидят на сайте 24 часа в сутки. Если вы самостоятельно написали бот для веб‑скрейпинга, нужно указать, как часто ему заходить на сайт — в идеале так, как это делает обычный человек. Приложения для скрейпинга, о которых мы рассказываем ниже, делают это по умолчанию.
Прокси‑серверы помогают имитировать, будто запросы к сайту приходят с разных IP‑адресов, а не с одного и того же. Специальные сервисы для скрейпинга автоматически предусматривают ротацию IP.
Инструменты для веб‑скрейпинга
Часто программисты пишут конкретных ботов с конкретными функциями под конкретную задачу, но есть и более простые, специализированные инструменты для веб‑скрейпинга. Мы расскажем именно о них.
Большинство сервисов работают по одной и той же схеме: нужно зарегистрироваться и подтвердить адрес электронной почты, а затем можно начинать скрейпить.
Сам скрейпинг прост в управлении: нужно ввести адрес сайта и выбрать элементы, которые необходимо собрать. Приложение сделает всё за вас и даст возможность посмотреть результаты в читаемом формате. Весь процесс проходит онлайн.
Некоторые сервисы предлагают скачать их API (программу) для скрейпинга. Как правило, на сайте приложения всегда есть инструкция по установке и использованию.
Некоторые сервисы предлагают персональные решения — они сделают всю работу за вас. Для этого надо связаться с менеджментом конкретной компании.
Бесплатное расширение для Chrome. Можно собирать разные типы данных и экспортировать их в CSV, XLS или JSON.
Сервис с бесплатным тарифом для небольших проектов; для более сложных — от 75 долларов в месяц. Позволяет скачивать данные и хранить их в облаке, работает на Mac и Windows.
Обеспечивает ротацию IP и проходит CAPTCHA. Есть демоверсия — её нужно запросить на сайте.
Десктопная программа. Выберите данные, которые нужно собирать, и ждите. Данные можно выгрузить в формате JSON, Excel и API.
Бесплатно можно получить 200 страниц с данными. Платные тарифы начинаются от 189 долларов в месяц.
Сервис позволяет скрейпить одновременно несколько типов данных, формируя их в задачи и выполняя поочерёдно. Можно сделать шаблон для быстрого сбора однотипных данных. Есть 30‑дневный бесплатный пробный период.
Сервис скрейпинга сайтов и соцсетей. Для каждого типа данных — например, сырого HTML, информации с сайтов недвижимости или торговли — предоставляются разные API, они специализированы для определенного сектора.
Например, API для скрейпинга сырого HTML извлекает HTML‑код страниц. API для ритейла позволяет просматривать страницы товаров и извлекать цены, описания и прочее. API для недвижимости даёт возможность просматривать площадь, местоположения, цены.
Задачи в приложении оплачиваются кредитами — в бесплатной версии у вас будет 100 кредитов. Когда они закончатся, придётся заплатить от 39 евро в месяц за 100 000 кредитов.
Как и предыдущий, этот сервис предоставляет для скачивания API для скрейпинга. 1 000 запросов — бесплатно, платные тарифы — от 20 долларов в месяц.
Здесь решения создаются под каждый конкретный бизнес. Стоимость — от 40 долларов в месяц за один сайт.
Как в Datahut, здесь вам подберут персональное решение. Datamam, например, обойдется в 5 000+ долларов за полноценный сбор данных.
Выводы
- Веб‑скрейпинг — это автоматизированный сбор данных сайтов. Парсинг — это часть веб‑скрейпинга, процесс приведения собранных данных в читаемый вид.
- Скрейпинг нужен, чтобы анализировать цены конкурентов и эффективность своего контента, мониторить репутацию в соцсетях, корректировать описания товаров и услуг, искать идеи для эффективного контента.
- Скрейпинг бывает хорошим — например, работа поисковых роботов — и плохим, когда сбор данных используется для кражи контента или ценового демпинга.
- Чтобы защититься от скрейпинга данных, требуется анализировать поведение пользователей, проверять IP, HTTP‑заголовки запросов, ставить CAPTCHA.
- Чтобы пройти через защиты сайтов, нужно установить корректный User Agent, добавить в заголовок запроса referer, установить интервалы между запросами к сайту, использовать прокси для изменения IP‑адреса и подключить программу прохождения CAPTCHA.
- Для обхода защиты используют специальные сервисы. Это может быть веб‑приложение или десктопная программа, а ещё есть компании, которые занимаются скрейпингом на заказ.
Web scraping что это
Если вы когда-либо копировали и вставляли информацию с веб-сайта, вы выполняли ту же функцию, что и любой веб-скрайпер, только в очень маленьком объёме. В отличие от обычного, ручного извлечения данных, веб-скрапер автоматически извлекает огромные массивы данных.
Веб-скрапинг представляет собой процесс извлечения и очистки данных с веб-сайта. Помимо банального удобства веб-скрапинга, его истинная сила заключается в том, какую пользу могут принести полученные благодаря нему данные. Многие успешные компании используют данные, полученные с помощью веб-скрапинга для улучшения своей деятельности, принимая эффективные решения для своего бизнеса, вплоть до индивидуального подхода в обслуживании клиентов.
В этой статье простым языком описано, что из себя представляет веб-скрапинг и из каких шагов состоит этот процесс.
Основы веб-скрапинга
На самом деле всё очень просто. Работа веб-скрапера состоит из двух частей: программа проходит по сайту и определяет, что нужно выгрузить, а затем выгружает запрошенные данные.
В случае, когда применяется web-crawling, программа проходит по сети для индексирования страниц и поиска нужного контента с помощью искусственного интеллекта, а затем происходит выгрузка нужных данных. Первая чать программы как бы ведёт вторую через сеть, в то время как она автоматически выгружает всё необходимое.
Эффективный веб-скрапинг: Три шага
1. Вначале IT-специалист пишет программу для веб-скрапинга под конкретный проект. Невозможно написать универсальную программу, которая будет качественно осуществлять веб-скрапинг для любой задачи, везде есть свои нюансы, которые необходимо проработать в программном коде.
2. После запуска программы, данные чаще всего извлекаются в формате HTML, затем происходит очистка данных, то есть преобразование в нормальный, подходящий для анализа вид. В сырых данных часто присутствуют шум, пропуски и другие неприятные вещи, с которыми необходимо поработать.
3. В конечном счете, данные преобразуются в подходящий формат, в зависимости от специфики проекта. Некоторые компании используют сторонние приложения или базы данных для просмотра и обработки данных по своему выбору, в то время как другие предпочитают данные в простом формате — например XLS, CSV и другие.
Web3 scraping: что это и зачем?
Многие из вас наверняка знают или хотя бы что-то слышали о веб-скрейпинге (от англ. scraping). Даже если нет, то вы точно им занимались, ведь копипаст это, по сути, тоже его разновидность.
Технически же это процесс сбора данных с веб-страниц. Не буду вдаваться в детали, для желающих есть статья в Википедии, а о конкретных решениях можно почитать на Хабре. Сразу оговорюсь, что задача этой статьи не в описании технических деталей работы разных ботов, а в общем знакомстве с самой технологией и возможностями ее применения в веб3.
Короткая история и пару примеров
Скрейпинг появился почти одновременно с World Wide Web, когда в начале 90-х были созданы первые веб-боты, сначала для анализа веса страниц, а позже и для их индексации.
В начале 2000-х были разработаны первые Web API, с помощью которых можно было получить доступ к определенным публичным данным. Сегодня такие решения есть у десятков тысяч продуктов, если не больше. Многие Интернет-ресурсы и базы данных сами предлагают возможность парсинга своих данных, будь-то новостные ресурсы, цифровые архивы или государственные статистические данные.
Но даже если такой возможности нет, можно создать бота, которые соберет публичные данные в нужном вам источнике и без доступного специально для этого интерфейса. Зачем?
Боты для скрейпинга применяются много где. Например, у вас есть свой интернет-магазин автотоваров. Вы, как его владелец, можете быть заинтересованы в том, чтобы отслеживать цены у конкурентов. Это можно сделать вручную, каждый день проверяя их динамику. А можно с помощью парсера, который на выходе предоставит данные в табличке. С помощью него же ваш контент-менеджер может получать описания позиций у конкурентов, в том числе SEO тексты. Насколько это этично – вопрос, в некоторых странах это регулируется законодательно, но сами инструменты есть и развиваются.
Другой пример. Допустим, вы бренд-менеджер или маркетолог. Одной из ваших задач может быть отслеживание упоминаний бренда. Поверхностно это позволяют делать такие инструменты как Гугл Трендс, более продвинуто – Youscan или Mention. Обычно они стоят немалых денег и выдают вам результаты в виде отчета, допустим, раз в день. Такие сервисы используют схожую технологию, хоть и не преследуют целью именно харвестинг (от англ. harvesting – сбор урожая), тоесть сбор данных, их скачивание, а просто трекают упоминания и представляют отчет со ссылками на них.
Для формирования более продвинутых отчетов применяют машинное обучение и искусственный интеллект. Благодаря этому, отчет с упоминаниями приобретает графы, где анализируется тональность этих самых упоминаний. Тоесть вы сразу видите, хорошо или плохо высказался о вашем бренде кто-то в Интернете. Но обработка естественного языка только развивается как технология, поэтому верить таким оценкам на 100% нельзя. Чаще всего они трекают “позитивные” и “негативные” слова, но не понимают, к примеру, иронию. И если охарактеризовать сервис как “замечательный” и поставить оценку 2 из 10, такой робот сломается. Шутка. Но здесь нужна будет более тонкая настройка, парсить в отрыве от других данных такие отзывы не будет иметь смысла.
Web3-скрейпинг
Вы наверняка слышали об идее нового веба – веб3. Если нет, здесь можно детально почитать о том, что это такое. Если очень коротко и просто, это новый виток в развитии всемирной паутины. Он будет основан на принципах децентрализации и приватности, благодаря блокчейну и токенизированной экономике.
Но давайте пока о другом. 2020 год. Карантин. В соцсетях идут войны между инфекционистами, вирусологами, всеми теми, кто за и против вакцинации. Каждая сторона приводит свои аргументы, ссылаясь на свои источники. Что это за источники? Откуда изначально появилась та информация, которая позже стала вирусной?
Вы уже наверное догадались, что с поиском ответов на эти вопросы может помочь скрейпинг. Но есть одна проблема. Из-за большого количества данных в сети, анализировать их невероятно сложно. Получить все данные в режиме реального времени – невозможно. Это далеко не то же самое, что спарсить данные с одного сайта.
И вот здесь родилась идея, как это решить. Некая компания ExordeLabs из Франции, состоящая из программистов и аналитиков данных, придумала использовать для скрейпинга данных блокчейн и идеи упомянутого выше web3. Благодаря децентрализации сети в ней одновременно валидаторами данных будут десятки тысяч узлов, а не отдельно запущенные боты.
Но что заставит их работать вместе и выполнять задачи поиска данных? Здесь мы вспомним о еще одном принципе веб3 – токенизированной экономике. За свою работу валидаторы будут получать токены – криптовалюту EXD. От атак такой протокол будет защищен механизмом консенсуса, а управляться сам протокол будет децентрализованной автономной организацией, где держатели токена будут иметь право голоса.
Также в силу того, что это блокчейн с прозрачной историей транзакций в сети, протокол не сможет скрывать, условно, какие-то результаты из выдачи, а значит не будет подвержен цензуре.
Благодаря всему этому, разрабы пытаются построить сбор данных в реальном времени! Все те же описанные кейсы, но с практически мгновенными результатами. Представьте, что когда только UST начал терять пег к доллару, у вас под рукой был бы инструмент, способный собрать всю публичную инфу на этот счет на любом нужном вам языке. Может там были подсказки к шорту? Выходу из позиций?
Близкий пример. Вы владеете NFT из какой-то коллекции и начинаете видеть FUD вокруг нее. Что делать – продать или оставить? Да, финальное решение в любом случае за человеком, но сам процесс сбора данных упрощается в разы.
В качестве вывода
Зачем весь этот лонгрид? Заинтересованным в скрейпинге данных, как и тем, кто инвестирует в крипту или просто следит за развитием веб3, это может пригодиться. Во-первых, из публичных продуктов этот единственный на данный момент, кто декларирует такую цель. Более того, не просто декларирует, но уже проводит тестирование своего софта, о чем можно узнать детальнее и присоединиться к тесту в Дискорде проекта.
Во-вторых, проект отмечен вниманием самого великого Коинлиста, что добавляет доверия, как минимум, потому, что там аналитики за что-то получают деньги и не забирают к себе в батч всех подряд. В общем, может выйти так, что продукт выстрелит. Зимой обещают TGE, пока идет тестнет можно в нем участвовать с надеждой на возможные награды. Времени почти не требует.
Больше о проекте можно узнать здесь: