Сбор данных из результатов поиска Google может потребоваться в разных ситуациях. Например, это может быть поиск основных конкурентов, изучение позиций в выдаче для своих сайтов, проверка вхождений поисковых фраз для предстоящего продвижения, подготовка базы данных для более масштабных процедур парсинга и т.п. Ниже остановимся не столько на причинах, сколько на механике процесса.
Расскажем как и с помощью чего можно парсить Google без написания кода.
Страница с результатами поиска коротко обозначается с помощью аббревиатуры SERP (что расшифровывается как Search Engine Results Page).
Предположим, что вы, ваш бот или парсер, отправляет поисковый запрос Google. В ответ поисковик возвращает страницу с результатами поиска. Такая страница имеет определённый формат и расположение элементов.
Если убрать рекламные блоки, то схема элементов получается примерно такой:
В некоторых случаях набор элементов и их порядок могут меняться. Так, например, при поиске отеля, рейсов на самолёт, вакансий или товаров будут показываться особые сниппеты. Если есть предложение от компаний рядом с пользователем, то будет показан блок «Места» с интерактивной картой и списком адресов.
В некоторых странах уже появились особые блоки от нейросети Гугла (Gemini).
Принципы формирования результатов не менялись с момента создания поисковика – это так называемая органическая выдача (без рекламных объявлений, которые помечаются особым способом). Менялись лишь мелкие детали и разметка.
Классический сниппет поискового результата включает в себя:
Иногда Google добавляет в сниппет рейтинг со звёздами (если материал оценивается пользователями и есть соответствующая разметка), а также набор из дополнительных ссылок на важные страницы сайта (по аналогии с хлебными крошками).
Мобильный поиск – почти полная копия десктопного. Только в выдаче участвуют сайты, адаптированные для небольших экранов (смартфонов и планшетов).
У поисковика на текущий момент нет API, с помощью которого можно было бы напрямую загружать результаты с XML/JSON-разметкой (до 2021 года такой интерфейс существовал, но сейчас он сильно устарел). Соответственно, единственным рабочим способом извлечения данных из поиска Google остаётся парсинг. К слову, у многих других сервисов Google есть API: карты, переводчик, таблицы и т.п. Но только не у поиска.
Google периодически меняет вёрстку своей поисковой выдачи, тестирует новые концепции и внедряет оригинальные блоки для поисковых запросов в узких нишах. Поэтому со временем тот подход, который мы описали выше, вполне может измениться и потерять свою актуальность.
Собственно, в этом и заключается основная проблема самостоятельного парсинга Google – нужно знать все нюансы и регулярно адаптировать свой парсер. Если этого не делать, то буквально через короткий промежуток времени он перестанет работать.
Плюс, Гугл любит оптимизировать нагрузку на свои серверы и потому выявляет и активно блокирует автоматический трафик. Наиболее вероятный формат санкций – показ капчи.
Более подробно о том, что конкретно Google считает подозрительным трафиком, можно почитать в справке поисковика.
Чёрных списков у Google нет, сервис никогда не банит IP-адреса навечно.
Тем не менее, если вы не хотите платить за решение капчи или бороться с ней самостоятельно, то правильным выходом будет либо использование прокси с ротацией, либо парсинг результатов поиска Google через специальные сервисы, которые возьмут на себя все технические проблемы.
Как раз о таком сервисе и расскажем ниже.
Froxy SERP Scraper – это готовый парсер популярных поисковиков, который работает в формате онлайн-сервиса с API и web-интерфейсом. В список поддерживаемых платформ входят: Google, Yahoo, Bing, AOL, Ask и DuckDuckGo (это, не считая сайтов для электронной коммерции, социальных сетей, картографических сервисов и прочего).
Что конкретно даёт использование Froxy SERP Scraper:
Теперь расскажем о том, как запустить web-парсинг поисковой выдачи Google по шагам.
Нажмите кнопку «Начало работы» в шапке сайта и выберите из списка тарифов раздел «Скраперы». Если у вас уже есть аккаунт, то просто авторизуйтесь в панели управления и добавьте любой из пакетов для скрейпинга.
Пакеты рассчитываются по количеству запросов (токенов). Один запрос – это одна страница, с которой можно спарсить данные. Чем больше токенов в пакете, тем выгоднее получается стоимость каждого. Учтите, что токены действуют в течение месяца.
Для этого в панели управления выберите свой пакет скрейпинга в разделе «Подписки» и кликните на его названии (или на кнопке «Настройки» в карточке).
По каждой подписке показывается общее число токенов и количество израсходованных, а также дата предстоящего списания.
Если в пакете уже есть задачи на исполнение, они будут отображаться в списке. По каждому заданию можно отслеживать актуальный статус:
Задачи, поставленные планировщику, отображаются в отдельной вкладке. Для них есть особый статус: «Активно». Это значит, что задание стоит в очереди на исполнение.
При желании задачи можно отфильтровать по статусу, по типу или по дате (в определённом диапазоне дат).
Запустите мастер создания нового задания. Это делается кнопкой «Создать новую задачу».
Выберите тип задачи «Google Search».
Это может быть фраза или набор ключевых слов, по которым будет осуществляться поиск.
Обратите внимание:
Примеры синтаксиса запросов к поисковику Google:
Site:target-site.com далее искомая фраза
В нашем примере Гугл будет искать контент только на сайте «target-site.com».
“здесь ваша фраза”
Поисковик будет стараться найти те материалы, где есть максимально точное вхождение фразы или как минимум присутствуют все указанные слова.
слово1 OR слово2
Оператор OR воспринимается как слово «ИЛИ». То есть Google будет искать или «слово1», или «слово2».
-слово1 -слово2
Минус, поставленный перед словом, говорит поисковику, что из выдачи нужно исключить те результаты, в которых встречаются обозначенные слова.
Существуют и другие операторы. Их можно посмотреть в документации Google.
Помимо непосредственно поискового запроса в задаче скрейпинга можно также указать:
Это всё, что касается настроек самого Google.
Плюс, вы можете указать ссылку web-хука, который будет отправлен по завершению задачи.
Если задачу нужно выполнять регулярно, например, в случае мониторинга позиций, то логично при создании задачи указать периодичность её повторения.
В блоке «Планировщик задач» при настройке нового задания парсинга достаточно выбрать период повторения: от часа до суток.
По умолчанию стоит значение «Не повторять».
Когда вы определили все параметры парсинга, просто нажмите кнопку «Создать задачу» и она отправится в обработку.
Пока она не закончена, будет отображаться статус «В ожидании». В момент, когда парсинг будет завершён, система отобразит статус «Выполнено» и отправит уведомление на веб-хук (если тот был указан в настройках).
Результаты парсинга поисковой выдачи Google можно будет посмотреть прямо в личном кабинете. Они отображаются в виде таблицы. По каждому заданию сохраняются также параметры поиска и сам запрос. Поэтому вы всегда можете сориентироваться что конкретно вы искали и где.
Данные можно скачать в виде CSV или JSON-файла. Первый подразумевает табличный формат, а второй – специальную разметку.
В ответе Froxy SERP Scraper вы получаете:
Вместо web-интерфейса можно воспользоваться API.
Вот так будет выглядеть пример CURL-запроса:
curl -X POST https://froxy.com/api/subscription/ВАШ-КЛЮЧ-API/task \
-H "X-Authorization: Your Authorization Token" \
-d "location[country]"="RU" \
-d "filters[upload_date]"="any_time" \
-d domain="us" \
-d page=14 \
-d per_page=10 \
-d query="поисковая фраза" \
-d type="google"
Максимум подробностей можно узнать из нашей документации по API.
Парсинг результатов поиска Google может использоваться для разных целей. К наиболее популярным можно отнести:
К слову, у нас есть отдельный инструмент для мониторинга позиций по конкретному сайту – скрапер Google Position:
Если вы не хотите писать свой собственный парсер, мучаться с решением капчи, пробросом запросов через прокси (для виртуализации местоположения и/или для эмуляции мобильных), думать о формате сохранения данных и о других технических проблемах, то мы рекомендуем воспользоваться готовым сервисом – Froxy SERP Scraper.
Расчёт за услугу осуществляется по пакетам запросов, результаты парсинга можно скачивать с CSV или в JSON-формате. После окончания задания сервис отправляет уведомление с помощью хуков. В наличии хорошо документированный API-интерфейс.
Но даже если вы хотите пойти сложным путём (например, можете разработать свой скрипт парсинга), то нам тоже есть что предложить: ротируемые резидентные, мобильные и серверные прокси. Оплата только за пакеты трафика (все прокси в вашем распоряжении). До 1000 параллельных портов. В пуле более 10 млн. IP с таргетингом до города и оператора связи.