В этом посте мы научимся скрести Google Autocomplete Suggestions.
Требования:
Прежде чем начать, мы должны установить все, что нам может понадобиться в этом руководстве, чтобы двигаться дальше.
- Node JS
- Unirest JS
- Cheerio JS
Итак, прежде чем начать, настройте ваш проект Node JS и после этого установите оба пакета — Unirest JS и Cheerio JS. Вы можете установить оба пакета по указанной выше ссылке.
Цель:
Наша цель — соскрести автозаполненные предложения о кофе.
Процесс:
Теперь все, что нам нужно для подготовки нашего скрепера, установлено. Мы будем использовать npm библиотеку Unirest JS, чтобы сделать get запрос к нашему целевому 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
С помощью API Google Autocomplete
Если вы хотите легко соскрести результаты Google Autocomplete, не создавая скрепера, так как скрепинг иногда занимает много времени, вы можете попробовать этот API.
Serpdog | 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 Autocomplete Suggestions. Если у вас есть вопросы, не стесняйтесь задавать их мне в комментариях. Следите за мной в Twitter. Спасибо, что читаете!
Дополнительные ресурсы
- Google Maps Reviews Scraper
- Скребок новостей Google
- Скребок изображений Google
- Скребок результатов органического поиска Google
Автор
Я Даршан, основатель serpdog.io. Я люблю скрести сайты и писать о них в блоге.