В этом посте мы научимся парсить предложения автозаполнения Google.
Требования:
Прежде чем мы начнем, мы должны установить все, что нам может понадобиться в этом руководстве, чтобы двигаться вперед.
Поэтому перед запуском настройте свой проект Node JS, а затем установите оба пакета — Unirest JS и Cheerio JS. Вы можете установить оба пакета по вышеуказанной ссылке.
Цель:
Мы будем стремиться очистить предложения автозаполнения кофе.
Процесс:
Теперь все вещи, которые нам понадобятся для подготовки нашего скребка, установлены. Мы будем использовать библиотеку npm Unirest JS, чтобы сделать запрос на получение нашего целевого URL-адреса, чтобы мы могли получить наши необработанные данные HTML. Затем мы будем использовать Cheerio JS для анализа извлеченных данных HTML.
Мы настроим таргетинг на этот URL:
https://www.google.com/complete/search?&hl=en&q=coffee&gl=us&client=chrome
Скопируйте этот URL-адрес в свой браузер и нажмите Enter. Вы увидите текстовый файл, загружаемый в вашем браузере, введя этот URL-адрес в браузере. Откройте этот файл в соответствующем редакторе кода.
Теперь мы сначала преобразуем эту строку JSON в объект и получим соответствующие данные, которые нам нужны.
Вы можете скопировать этот код по следующей ссылке: https://github.com/Darshan972/GoogleScrapingBlogs/blob/main/GoogleAutocompleteScraper.js
Результат:
[ { value: 'coffee near me', relevance: 1250, type: 'QUERY' }, { value: 'coffee shops near me', relevance: 650, type: 'QUERY' }, { value: 'coffee shop', relevance: 601, type: 'QUERY' }, { value: 'coffee table', relevance: 600, type: 'QUERY' }, { value: 'coffee maker', relevance: 553, type: 'QUERY' }, { value: 'coffee bean', relevance: 552, type: 'QUERY' }, { value: 'coffee grinder', relevance: 551, type: 'QUERY' }, { value: 'coffee meets bagel', relevance: 550, type: 'QUERY' } ] 1300
С Google Autocomplete API
Если вы хотите легко очистить результаты автозаполнения Google, не создавая парсер, поскольку иногда сбор данных может занимать много времени, вы можете попробовать этот API.
Серпдог | Google Search API также предоставляет 100 бесплатных поисков в месяц, и если вы хотите увеличить свою квоту запросов, вы также можете купить платные планы.
Пример кода запроса:
const axios = require('axios'); axios.get('https://api.serpdog.io/autocomplete?api_key=APIKEY&q=football&gl=us') .then(response => { console.log(response.data); }) .catch(error => { console.log(error); });
Полученные результаты:
{ "meta": { "api_key": "APIKEY", "q": "football", "gl": "us" }, "suggestions": [ { "value": "football cleats", "relevance": 601, "type": "QUERY" }, { "value": "football games", "relevance": 600, "type": "QUERY" }, { "value": "football wordle", "relevance": 555, "type": "QUERY" }, { "value": "football today", "relevance": 554, "type": "QUERY" }, { "value": "football gloves", "relevance": 553, "type": "QUERY" }, { "value": "football field", "relevance": 552, "type": "QUERY" }, { "value": "football movies", "relevance": 551, "type": "QUERY" }, { "value": "football positions", "relevance": 550, "type": "QUERY" } ], "verbatim_relevance": 1300 }
Заключение
В этом уроке мы научились очищать результаты предложений автозаполнения Google. Если у вас есть какие-либо вопросы, не стесняйтесь спрашивать меня в комментариях. Подпишись на меня в Твиттере". Спасибо за прочтение!
Дополнительные ресурсы
- Парсер отзывов Google Maps
- Скрапер новостей Google
- Скребок изображений Google
- Парсер результатов органического поиска Google
Автор
Я Даршан, основатель serpdog.io. Я люблю парсить сайты и писать о них блоги.