7 советов по парсингу на основе нашего опыта

Советы, которые снизят вероятность блокировки парсера и улучшат его качество

Данные, которые мы получаем из открытых источников в Интернете, помогают в бизнесе, учебе, работе. Собрать их можно разными способами: вручную или автоматизировано. Но чтобы всегда иметь точные и актуальные данные, необходимо собирать их с определенной периодичностью много раз. В этой статье делимся нашими советами по наилучшему использованию парсеров данных.

1 Уважайте владельцев и пользователей сайтов

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


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

Если не соблюдать эти правила, то ваш IP-адрес может быть заблокирован.

2 Моделируйте поведение людей

Одна из основных целей автоматизированного сбора данных - собрать их быстрее, чем если бы эту работу человек сделал вручную. Тем не менее, мы настоятельно рекомендуем ограничивать скорость обращения к ресурсу.


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

3 Быстро обнаруживайте блокировки

Одна из основных целей автоматизированного сбора данных - собрать их быстрее, чем если бы эту работу человек сделал вручную. Тем не менее, мы настоятельно рекомендуем ограничивать скорость обращения к ресурсу.


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

4 Используйте user-agent

Когда реальный пользователь посещает веб-сайт, сервер веб-сайта получает user-agent браузера этого человека. Из него можно понять откуда этот человек пришел на сайт, какой браузер использует, какой версии, с какого устройства он посещает страницу и т. д. Посетители без user-agent автоматически помечаются как боты. Вот для чего необходимо использовать несколько пользовательских агентов и регулярно ротировать их. Также не используйте старые или устаревшие версии браузера, так как это может стать подозрительным. Время от времени обновляйте пул пользовательских агентов.

5 Используйте headless-браузеры

Многие веб-сайты имеют контент, отображаемый Javascript, и поэтому его невозможно получить непосредственно из необработанного HTML. Единственный способ сделать это - использовать headless-браузер. Headless-браузер обработает Javascript и отобразит весь контент. Он называется headless потому, что не имеет графического интерфейса пользователя. Это продвинутый способ моделирования пользователя, так как парсер посещает и анализирует страницу, как если бы он использовал обычный браузер.

6 Используйте прокси

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

Резидентские прокси, позволяют обойти любые географические ограничения и парсить более сложные веб-сайты, такие как Google, Amazon, Ситилинк, 2ГИС и т.д.

7 Используйте краулеры

Краулеры - сканеры ссылок - отличный инструмент для сбора ссылок с веб-страниц. Краулер будет ходить по сайту и получать все ссылки с веб-страницы для дальнейшей обработки. Также он будет обновлять список URL-адресов для сканирования и парсинга по мере обхода сайта.
Правильно сразу запрограммировать некоторые правила по сортировке URL-адресов: какие из них пропускать, а с каких собирать данные.

Нужен парсинг сайтов?