Сбор данных из результатов поиска Google может потребоваться в разных ситуациях. Например, это может быть поиск основных конкурентов, изучение позиций в выдаче для своих сайтов, проверка вхождений поисковых фраз для предстоящего продвижения, подготовка базы данных для более масштабных процедур парсинга и т.п. Ниже остановимся не столько на причинах, сколько на механике процесса.
Расскажем как и с помощью чего можно парсить Google без написания кода.
Какие данные можно извлечь из поиска Google
Страница с результатами поиска коротко обозначается с помощью аббревиатуры SERP (что расшифровывается как Search Engine Results Page).
Предположим, что вы, ваш бот или парсер, отправляет поисковый запрос Google. В ответ поисковик возвращает страницу с результатами поиска. Такая страница имеет определённый формат и расположение элементов.
Если убрать рекламные блоки, то схема элементов получается примерно такой:
- Строка с выбором типа контента и с настройками поиска.
- Наиболее релевантный ответ (у него может быть расширенное описание и дополнительные ссылки на тематические разделы с того же сайта).
- Блок «Вопросы по теме».
- Все остальные ответы из органического поиска (обычно 10 штук).
- Блок с релевантными видео.
- Блок «Другие также ищут».
- Пагинация для перехода на следующие страницы с поисковыми результатами.
- Справа от ленты может располагаться wiki-блок (короткое описание объекта, явления, бренда, сервиса и т.п.).
В некоторых случаях набор элементов и их порядок могут меняться. Так, например, при поиске отеля, рейсов на самолёт, вакансий или товаров будут показываться особые сниппеты. Если есть предложение от компаний рядом с пользователем, то будет показан блок «Места» с интерактивной картой и списком адресов.
В некоторых странах уже появились особые блоки от нейросети Гугла (Gemini).
Принципы формирования результатов не менялись с момента создания поисковика – это так называемая органическая выдача (без рекламных объявлений, которые помечаются особым способом). Менялись лишь мелкие детали и разметка.
Классический сниппет поискового результата включает в себя:
- Фавиконку сайта.
- Его название или домен.
- Тайтл/анкор (название страницы является кликабельным и включает в себя ссылку на результат поиска – URL).
- Дескрипшн (короткое описание страницы или «нарезка» из кусков текста, который Google счёл наиболее важным).
Иногда Google добавляет в сниппет рейтинг со звёздами (если материал оценивается пользователями и есть соответствующая разметка), а также набор из дополнительных ссылок на важные страницы сайта (по аналогии с хлебными крошками).
Мобильный поиск – почти полная копия десктопного. Только в выдаче участвуют сайты, адаптированные для небольших экранов (смартфонов и планшетов).
Проблемы парсинга Google
У поисковика на текущий момент нет API, с помощью которого можно было бы напрямую загружать результаты с XML/JSON-разметкой (до 2021 года такой интерфейс существовал, но сейчас он сильно устарел). Соответственно, единственным рабочим способом извлечения данных из поиска Google остаётся парсинг. К слову, у многих других сервисов Google есть API: карты, переводчик, таблицы и т.п. Но только не у поиска.
Google периодически меняет вёрстку своей поисковой выдачи, тестирует новые концепции и внедряет оригинальные блоки для поисковых запросов в узких нишах. Поэтому со временем тот подход, который мы описали выше, вполне может измениться и потерять свою актуальность.
Собственно, в этом и заключается основная проблема самостоятельного парсинга Google – нужно знать все нюансы и регулярно адаптировать свой парсер. Если этого не делать, то буквально через короткий промежуток времени он перестанет работать.
Плюс, Гугл любит оптимизировать нагрузку на свои серверы и потому выявляет и активно блокирует автоматический трафик. Наиболее вероятный формат санкций – показ капчи.
Более подробно о том, что конкретно Google считает подозрительным трафиком, можно почитать в справке поисковика.
Чёрных списков у Google нет, сервис никогда не банит IP-адреса навечно.
Тем не менее, если вы не хотите платить за решение капчи или бороться с ней самостоятельно, то правильным выходом будет либо использование прокси с ротацией, либо парсинг результатов поиска Google через специальные сервисы, которые возьмут на себя все технические проблемы.
Как раз о таком сервисе и расскажем ниже.
Использование Froxy SERP Scraper для сбора данных из Google
Froxy SERP Scraper – это готовый парсер популярных поисковиков, который работает в формате онлайн-сервиса с API и web-интерфейсом. В список поддерживаемых платформ входят: Google, Yahoo, Bing, AOL, Ask и DuckDuckGo (это, не считая сайтов для электронной коммерции, социальных сетей, картографических сервисов и прочего).
Что конкретно даёт использование Froxy SERP Scraper:
- Не нужно писать свой парсер и следить за его работоспособностью.
- Не нужно искать и подключать прокси, тестировать их и следить за ротацией – тут формат «всё включено». Достаточно только выбрать страну, из которой будет осуществляться парсинг.
- В наличии удобный web-интерфейс – ставить задачи на парсинг можно прямо в браузере.
- Есть хорошо документированный API. В случае необходимости парсер можно интегрировать со своими программами и сайтами.
- Результаты парсинга предоставляются в очищенном виде, сразу в табличном формате для удобства дальнейшей работы. Есть CSV и JSON формат.
- Парсинг можно поставить на автопилот – с помощью простого встроенного планировщика. Останется только регулярно скачивать результаты.
- Предоставляется бесплатный пакет запросов для полноценного тестирования.
- Детально настраиваются другие параметры парсинга поисковой выдачи – глубина (в страницах), фильтрация взрослого контента, дата публикации/загрузки, домен, мобильная выдача и т.д.
- После окончания работы над заданием сервис может отправлять хуки. Их можно использовать как триггер для дальнейших шагов автоматизации.
- Вы платите только за результат, а не за ошибки.
Теперь расскажем о том, как запустить web-парсинг поисковой выдачи Google по шагам.
Шаг 1. Зарегистрируйте аккаунт
Нажмите кнопку «Начало работы» в шапке сайта и выберите из списка тарифов раздел «Скраперы». Если у вас уже есть аккаунт, то просто авторизуйтесь в панели управления и добавьте любой из пакетов для скрейпинга.
Пакеты рассчитываются по количеству запросов (токенов). Один запрос – это одна страница, с которой можно спарсить данные. Чем больше токенов в пакете, тем выгоднее получается стоимость каждого. Учтите, что токены действуют в течение месяца.
Шаг 2. Создание нового задания на парсинг
Для этого в панели управления выберите свой пакет скрейпинга в разделе «Подписки» и кликните на его названии (или на кнопке «Настройки» в карточке).
По каждой подписке показывается общее число токенов и количество израсходованных, а также дата предстоящего списания.
Если в пакете уже есть задачи на исполнение, они будут отображаться в списке. По каждому заданию можно отслеживать актуальный статус:
- В ожидании – если задача прямо сейчас запущена в работу.
- Выполнено – если задача завершена.
- Остановлено – если на балансе пакета закончились запросы.
- Ошибка – если задание закончилось ошибкой и парсинг не удался.
Задачи, поставленные планировщику, отображаются в отдельной вкладке. Для них есть особый статус: «Активно». Это значит, что задание стоит в очереди на исполнение.
При желании задачи можно отфильтровать по статусу, по типу или по дате (в определённом диапазоне дат).
Запустите мастер создания нового задания. Это делается кнопкой «Создать новую задачу».
Выберите тип задачи «Google Search».
Шаг 3. Введите поисковый запрос
Это может быть фраза или набор ключевых слов, по которым будет осуществляться поиск.
Обратите внимание:
- Язык фразы может быть любым.
- Длина фразы не должна превышать 200 символов (вместе с пробелами).
- На одно задание парсинга можно ввести только один поисковый запрос. Попытка ввести запросы через запятую или с другими разделителями приведёт к тому, что все они будут объединены в один большой запрос.
- Внутри запроса допускается использование спецсимволов и синтаксиса, с которым работает Google.
Примеры синтаксиса запросов к поисковику Google:
- Поиск по конкретному сайту
Site:target-site.com далее искомая фраза
В нашем примере Гугл будет искать контент только на сайте «target-site.com».
- Точное вхождение фразы (словосочетания)
“здесь ваша фраза”
Поисковик будет стараться найти те материалы, где есть максимально точное вхождение фразы или как минимум присутствуют все указанные слова.
- Чередование слов
слово1 OR слово2
Оператор OR воспринимается как слово «ИЛИ». То есть Google будет искать или «слово1», или «слово2».
- Минус-слова (исключение слов)
-слово1 -слово2
Минус, поставленный перед словом, говорит поисковику, что из выдачи нужно исключить те результаты, в которых встречаются обозначенные слова.
Существуют и другие операторы. Их можно посмотреть в документации Google.
Шаг 4. Настройка задачи парсинга
Помимо непосредственно поискового запроса в задаче скрейпинга можно также указать:
- Страну, из которой будет осуществляться подключение.
- Общий или определённый региональный домен Google (google.com, google.it, google.de и т.п.).
- Количество страниц (глубина парсинга по одному поисковому запросу). Заметьте, чем больше будет страниц, тем больше токенов будет списано.
- Результатов на одну страницу (Google по дефолту показывает 10 строк/сниппетов).
- Тип поиска (например, вместо общего поиска можно выбрать поиск по книгам, по видео или по новостям).
- Дата загрузки/создания материала (временной промежуток, в течение которого была опубликована страница: час назад, день, неделю, месяц или год назад). По умолчанию используется параметр «за всё время».
- Мобильная версия (для таргетированного поиска только на мобильных).
- Безопасный поиск (для скрытия из выдачи материалов для взрослых).
Это всё, что касается настроек самого Google.
Плюс, вы можете указать ссылку web-хука, который будет отправлен по завершению задачи.
Шаг 5. Настройка повторения задачи
Если задачу нужно выполнять регулярно, например, в случае мониторинга позиций, то логично при создании задачи указать периодичность её повторения.
В блоке «Планировщик задач» при настройке нового задания парсинга достаточно выбрать период повторения: от часа до суток.
По умолчанию стоит значение «Не повторять».
Шаг 6. Запуск задачи
Когда вы определили все параметры парсинга, просто нажмите кнопку «Создать задачу» и она отправится в обработку.
Пока она не закончена, будет отображаться статус «В ожидании». В момент, когда парсинг будет завершён, система отобразит статус «Выполнено» и отправит уведомление на веб-хук (если тот был указан в настройках).
Шаг 7. Просмотр или скачивание результатов
Результаты парсинга поисковой выдачи Google можно будет посмотреть прямо в личном кабинете. Они отображаются в виде таблицы. По каждому заданию сохраняются также параметры поиска и сам запрос. Поэтому вы всегда можете сориентироваться что конкретно вы искали и где.
Данные можно скачать в виде CSV или JSON-файла. Первый подразумевает табличный формат, а второй – специальную разметку.
В ответе Froxy SERP Scraper вы получаете:
- Ссылку на страницу из результатов поиска.
- Анкор (название материала).
- Сниппет (короткое описание под названием).
- Признаки дополнительных флагов (если есть, например, наличие картинки-превью, признака рекламного блока или amp-версии страницы).
- Дата публикации (тоже, если есть).
Вместо 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 может использоваться для разных целей. К наиболее популярным можно отнести:
- Исследование рынка. Отслеживание тенденций и трендов, составление списков конкурентов, изучение их механик, ассортимента, ценовых политик, накопление общих знаний и т.п.
- Реализация динамических web-сервисов. Например, наполнение виджетов в составе новостных сайтов, в сводках для рынка ценных бумаг и т.п.
- SEO-анализ. Мониторинг своих позиций по поисковым фразам в разных регионах, отслеживание изменений после правок на сайте, изучение сайтов конкурентов.
- Комплексное изучение конкурентов. Цены, разбор контент-стратегии, анализ закупки рекламы по тематическим запросам, мониторинг позиций, изучение реального охвата и прочее.
К слову, у нас есть отдельный инструмент для мониторинга позиций по конкретному сайту – скрапер Google Position:
- При создании новой задачи достаточно выбрать тип «Google Position».
- В настройках введите поисковую фразу (или SEO-ключ).
- Домен (ваш сайт или сайт конкурента).
- Настройте остальные параметры (страна, глубина парсинга, активация мобильной версии и т.п.).
- Определите периодичность повторения (вместо этого задачу можно запускать разово).
- Дождитесь результатов.
Заключение и рекомендации
Если вы не хотите писать свой собственный парсер, мучаться с решением капчи, пробросом запросов через прокси (для виртуализации местоположения и/или для эмуляции мобильных), думать о формате сохранения данных и о других технических проблемах, то мы рекомендуем воспользоваться готовым сервисом – Froxy SERP Scraper.
Расчёт за услугу осуществляется по пакетам запросов, результаты парсинга можно скачивать с CSV или в JSON-формате. После окончания задания сервис отправляет уведомление с помощью хуков. В наличии хорошо документированный API-интерфейс.
Но даже если вы хотите пойти сложным путём (например, можете разработать свой скрипт парсинга), то нам тоже есть что предложить: ротируемые резидентные, мобильные и серверные прокси. Оплата только за пакеты трафика (все прокси в вашем распоряжении). До 1000 параллельных портов. В пуле более 10 млн. IP с таргетингом до города и оператора связи.