CoderCastrov logo
CoderCastrov
Google Карты

Как парсить более 5 отзывов на Google Maps

Как парсить более 5 отзывов на Google Maps
просмотров
2 мин чтение
#Google Карты
Google Maps отзывы

Парсинг отзывов с помощью Google Places API?

Официальный способ извлечения отзывов из Google ограничен 5 отзывами, что в большинстве случаев недостаточно. Кроме того, нет возможности выбрать сортировку отзывов.

"predictions" содержит массив мест с информацией о месте. Places API возвращает до 5 результатов.

Автозаполнение места | Places API | Google Developers

Примечание: Библиотеки для серверной и клиентской стороны. Сервис автозаполнения места - это веб-сервис, который возвращает место...

developers.google.com

Google Maps Reviews API от Outscraper

К счастью, существует множество сторонних инструментов, которые разработчики, маркетологи и специалисты по обработке данных используют для преодоления ограничений Google и извлечения всех отзывов.

Начало работы с curl:

Запрос:

curl -X GET "https://api.app.outscraper.com/maps/reviews?query=restaurants%20brooklyn%20usa&organizationsPerQueryLimit=1&reviewsPerOrganizationLimit=100&sort=newest&language=en&region=US&async=true" -H  "accept: application/json" -H  "X-API-KEY: API_KEY_VALUE"
  • X-API-KEY —API-ключ со страницы Профиля Outscraper.

Ответ:

{
  "status": "Pending",
  "id": "b1aa2197-abf0-49ee-aa6c-b2b9feefed1e"
}

После как минимум 20 секунд мы можем проверить статус по task_id (b1aa2197-abf0-49ee-aa6c-b2b9feefed1e):

curl -X GET "https://api.app.outscraper.com/requests/f47f8903-3820-490b-9ab2-307b91a215f3"

Ответ:

{
  "id": "f47f8903-3820-490b-9ab2-307b91a215f3",
  "status": "Success",
  "data": {
    "name": "The Loft Steakhouse",
    "full_address": "1306 40th St, Brooklyn, NY 11218",
    "borough": "Borough Park",
    "street": "1306 40th St",
    "city": "Brooklyn",
    "postal_code": "11218",
    "country_code": "US",
    "country": "United States of America",
    "us_state": "New York",
    "state": "New York",
    "plus_code": null,
    ...
    "reviews_data": [
      {
        "google_id": "0x89c25ad4507a6e2f:0x135c0e38302054ac",
        "autor_link": "[https://www.google.com/maps/contrib/113939255077909007001?hl=en-US](https://www.google.com/maps/contrib/113939255077909007001?hl=en-US)",
        "autor_name": "Luxicore Luxicore",
        "autor_id": "113939255077909007001",
        "review_text": "😍",
        "review_img_url": null,
        "owner_answer": null,
        "owner_answer_timestamp": null,
        "owner_answer_timestamp_datetime_utc": null,
        "review_link": "[https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s113939255077909007001!2s0x0:0x135c0e38302054ac?hl=en-US](https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s113939255077909007001!2s0x0:0x135c0e38302054ac?hl=en-US)",
        "review_rating": 5,
        "review_timestamp": 1609916526,
        "review_datetime_utc": "01/06/2021 07:02:06",
        "review_likes": 0
      },
      {
        "google_id": "0x89c25ad4507a6e2f:0x135c0e38302054ac",
        "autor_link": "[https://www.google.com/maps/contrib/113772108571144341631?hl=en-US](https://www.google.com/maps/contrib/113772108571144341631?hl=en-US)",
        "autor_name": "nechama spitzer",
        "autor_id": "113772108571144341631",
        "review_text": null,
        "review_img_url": null,
        "owner_answer": null,
        "owner_answer_timestamp": null,
        "owner_answer_timestamp_datetime_utc": null,
        "review_link": "[https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s113772108571144341631!2s0x0:0x135c0e38302054ac?hl=en-US](https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s113772108571144341631!2s0x0:0x135c0e38302054ac?hl=en-US)",
        "review_rating": 5,
        "review_timestamp": 1609908330,
        "review_datetime_utc": "01/06/2021 04:45:30",
        "review_likes": 0
      },
      {
        "google_id": "0x89c25ad4507a6e2f:0x135c0e38302054ac",
        "autor_link": "[https://www.google.com/maps/contrib/101327396341308920600?hl=en-US](https://www.google.com/maps/contrib/101327396341308920600?hl=en-US)",
        "autor_name": "Abraham Spitzer",
        "autor_id": "101327396341308920600",
        "review_text": "Fantastic food, and top notch service.",
        "review_img_url": null,
        "owner_answer": null,
        "owner_answer_timestamp": null,
        "owner_answer_timestamp_datetime_utc": null,
        "review_link": "[https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s101327396341308920600!2s0x0:0x135c0e38302054ac?hl=en-US](https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s101327396341308920600!2s0x0:0x135c0e38302054ac?hl=en-US)",
        "review_rating": 5,
        "review_timestamp": 1609907283,
        "review_datetime_utc": "01/06/2021 04:28:03",
        "review_likes": 1
      },
      {
        "google_id": "0x89c25ad4507a6e2f:0x135c0e38302054ac",
        "autor_link": "[https://www.google.com/maps/contrib/102719245594734487309?hl=en-US](https://www.google.com/maps/contrib/102719245594734487309?hl=en-US)",
        "autor_name": "Mordechai Steinberg",
        "autor_id": "102719245594734487309",
        "review_text": "Drinks and desserts are delicious",
        "review_img_url": null,
        "owner_answer": null,
        "owner_answer_timestamp": null,
        "owner_answer_timestamp_datetime_utc": null,
        "review_link": "[https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s102719245594734487309!2s0x0:0x135c0e38302054ac?hl=en-US](https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s102719245594734487309!2s0x0:0x135c0e38302054ac?hl=en-US)",
        "review_rating": 5,
        "review_timestamp": 1609876671,
        "review_datetime_utc": "01/05/2021 19:57:51",
        "review_likes": 0
      },
      {
        "google_id": "0x89c25ad4507a6e2f:0x135c0e38302054ac",
        "autor_link": "[https://www.google.com/maps/contrib/111508286578454282185?hl=en-US](https://www.google.com/maps/contrib/111508286578454282185?hl=en-US)",
        "autor_name": "akiva Burgman",
        "autor_id": "111508286578454282185",
        "review_text": "(Translated by Google) Crazy food\n\n(Original)\nאוכל מטורף",
        "review_img_url": null,
        "owner_answer": null,
        "owner_answer_timestamp": null,
        "owner_answer_timestamp_datetime_utc": null,
        "review_link": "[https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s111508286578454282185!2s0x0:0x135c0e38302054ac?hl=en-US](https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s111508286578454282185!2s0x0:0x135c0e38302054ac?hl=en-US)",
        "review_rating": 5,
        "review_timestamp": 1609807487,
        "review_datetime_utc": "01/05/2021 00:44:47",
        "review_likes": 1
      },
      {
        "google_id": "0x89c25ad4507a6e2f:0x135c0e38302054ac",
        "autor_link": "[https://www.google.com/maps/contrib/109701367046355539534?hl=en-US](https://www.google.com/maps/contrib/109701367046355539534?hl=en-US)",
        "autor_name": "L M",
        "autor_id": "109701367046355539534",
        "review_text": "Very Good food",
        "review_img_url": null,
        "owner_answer": null,
        "owner_answer_timestamp": null,
        "owner_answer_timestamp_datetime_utc": null,
        "review_link": "[https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s109701367046355539534!2s0x0:0x135c0e38302054ac?hl=en-US](https://www.google.com/maps/reviews/data=!4m5!14m4!1m3!1m2!1s109701367046355539534!2s0x0:0x135c0e38302054ac?hl=en-US)",
        "review_rating": 5,
        "review_timestamp": 1609740432,
        "review_datetime_utc": "01/04/2021 06:07:12",
        "review_likes": 1
      },
      ...
    ]
  }
}

Документация по API: https://app.outscraper.com/api-docs

Python-пакет: https://pypi.org/project/google-services-api/