Задать вопрос

Как спарсить рейтинг отзывов Google Places?

Здравствуйте, дорогие друзья. Подскажите, пожалуйста, кто силен, как мне спарсить на свой сайт строчку с рейтингом Google, которые пользователи оставляют в местах. Навыки у меня пока весьма посредственные, я в процессе изучения всех технологий, поэтому прошу ткнуть носом. Откликнувшимся огромное СПАСИБО.

Вот точно в таком виде мне нужно закинуть этот блок к себе на сайт, в одну строчку:
5a170cdd7124d454634766.png
  • Вопрос задан
  • 4691 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
А зачем парсить? У них же api есть:
https://developers.google.com/maps/documentation/j...
https://developers.google.com/places/web-service/d...
Обращаетесь по api, получаете в ответ json, в нем данные о рейтинге. Отрисовывете данные как душа пожелает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mixvolt
Чтобы отобразить на вашем сайте рейтинг и количество отзывов из Google, нужно интегрировать данные из Google My Business (GMB) через API. Вот пошаговый процесс:

1. Создайте проект в Google Cloud
  • Перейдите в Google Cloud Console.
  • Создайте новый проект или выберите существующий.
  • Активируйте API Google My Business или Google Places API (зависит от вашего источника данных).


2. Получите API-ключ
  • В Google Cloud Console перейдите в раздел "APIs & Services > Credentials".
  • Нажмите "Create Credentials" и выберите API Key.
  • Сохраните API-ключ для использования в запросах.


3. Запросите данные
Для данных о рейтинге и отзывах можно использовать:
  • Google My Business API (если у вас есть доступ к вашему бизнес-аккаунту GMB).
  • Places API (если данные общедоступны).


Пример с использованием Places API:
Отправьте запрос к API:
https://maps.googleapis.com/maps/api/place/details/json?place_id=PLACE_ID&fields=rating,user_ratings_total&key=YOUR_API_KEY

  • PLACE_ID — уникальный идентификатор вашей компании (можно найти через Place Search API).
  • rating — средний рейтинг.
  • user_ratings_total — общее количество отзывов.

Пример ответа:
{
  "result": {
    "rating": 4.7,
    "user_ratings_total": 150
  },
  "status": "OK"
}


4. Выведите данные на сайте
Используйте JavaScript, PHP или любой другой язык, чтобы интегрировать API-ответ в ваш сайт.
JavaScript:
<script>
  async function fetchGoogleReviews() {
    const response = await fetch(
      "https://maps.googleapis.com/maps/api/place/details/json?place_id=PLACE_ID&fields=rating,user_ratings_total&key=YOUR_API_KEY"
    );
    const data = await response.json();
    const rating = data.result.rating;
    const reviews = data.result.user_ratings_total;

    document.getElementById("rating").textContent = `Рейтинг: ${rating}`;
    document.getElementById("reviews").textContent = `Количество отзывов: ${reviews}`;
  }
  fetchGoogleReviews();
</script>
<div>
  <p id="rating"></p>
  <p id="reviews"></p>
</div>

PHP:
<?php
$apiKey = "YOUR_API_KEY";
$placeId = "PLACE_ID";

$url = "https://maps.googleapis.com/maps/api/place/details/json?place_id=$placeId&fields=rating,user_ratings_total&key=$apiKey";
$response = file_get_contents($url);
$data = json_decode($response, true);

$rating = $data['result']['rating'];
$reviews = $data['result']['user_ratings_total'];
?>

<div>
  <p>Рейтинг: <?php echo $rating; ?></p>
  <p>Количество отзывов: <?php echo $reviews; ?></p>
</div>


5. Оптимизация
  • Кэшируйте данные, чтобы снизить количество запросов к API.
  • Следите за использованием квоты Google API (зависит от тарифа).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы