🥳Junte-se à Comunidade Scrapeless e reivindique sua avaliação gratuita para acessar nossa poderosa ferramenta de raspagem da web!
De volta ao blog

Como extrair dados e avaliações públicas do Google Maps usando Python

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

22-Feb-2025

O Google Maps lista milhões de empresas, e acessar esses dados valiosos pode fornecer insights sobre o comportamento do consumidor, tendências de mercado e análise da concorrência. Ao extrair dados e avaliações do Google Maps, desenvolvedores, profissionais de marketing e analistas de dados podem transformar sua forma de trabalho, permitindo que extraiam informações baseadas em localização de forma eficiente.

Neste guia, iremos guiá-lo pelo processo de uso do Python para extrair dados do Google Maps, cobrindo tudo, desde a configuração do ambiente até a extração de dados e agregação de avaliações.

Entendendo os Dados do Google Maps

O Google Maps fornece grandes quantidades de dados que possuem um imenso valor para vários casos de uso, como análise de negócios, pesquisa de mercado e inteligência competitiva. Para extrair dados do Google Maps de forma eficaz, é essencial entender os dados disponíveis, sua estrutura e os melhores métodos de extração. Vamos dar uma olhada mais de perto nos diferentes tipos de dados que o Google Maps oferece e como extraí-los de forma eficiente.

Tipos de dados do Google Maps

Quando você rastreia o Google Maps, o tipo de dado mais comum que você encontrará é:

  • Informações do Comerciante: Cada local ou empresa no Google Maps possui informações detalhadas, incluindo seu nome, endereço, informações de contato e site. Esses dados geralmente são exibidos nos perfis de comerciantes e podem ser extraídos para coletar informações importantes sobre empresas em vários setores.
  • Avaliações e Comentários: Um dos pontos de dados mais valiosos no Google Maps são as avaliações e comentários relacionados a comerciantes. Isso inclui avaliações médias em estrelas, avaliações individuais, nomes dos avaliadores, datas das avaliações e, às vezes, fotos dos avaliadores. As avaliações podem fornecer insights valiosos sobre a satisfação do cliente e o sentimento.
  • Coordenadas de localização: Cada lugar no Google Maps está associado a coordenadas geográficas (latitude e longitude), o que é útil para mapeamento, geolocalização ou análise baseada em localização.
  • Horário de funcionamento: O Google Maps fornece o horário de funcionamento para a maioria das empresas, incluindo horários de abertura e fechamento, que podem variar nos fins de semana ou feriados.
  • Fotos e mídia: Muitas empresas carregam fotos em seus perfis do Google Maps. Essas imagens podem ser extraídas para fornecer informações adicionais sobre a empresa, como layout da loja, comida (para restaurantes) ou exibições de produtos.
  • Categorias e Tags: As empresas no Google Maps são rotuladas com categorias (como restaurantes, academias ou hotéis) e, às vezes, com palavras-chave para ajudar os usuários a filtrar e pesquisar empresas com base em suas necessidades.
google map data

Como extrair dados e avaliações do Google Maps usando Python

Existem pelo menos três maneiras de extrair dados do Google Maps de forma eficiente:

Método 1: Use a API do Scrapeless Google Maps (Recomendado)

O Scrapeless fornece um JSON bem estruturado contendo todas as informações relevantes extraídas dos resultados da pesquisa do Google Maps. Ele também oferece dados adicionais abrangentes, como avaliações, fotos e rotas de navegação. Usando esta API, você pode extrair dados do Google Maps sem a necessidade de construir seu próprio rastreador do Google Maps, economizando tempo e esforço significativos.

Exemplo de uma saída JSON extraída:

Use the Scrapeless Google Maps API

Método 2: Use a API de Lugares do Google

Outra abordagem é usar a API de Lugares do Google, mas primeiro, você precisa configurar um projeto do Google Cloud e seguir as instruções de configuração para obter uma chave de API. Depois de configurado, você pode realizar pesquisas usando solicitações HTTP POST ou o SDK do Python.

Desvantagens:

  • A configuração inicial para obter a chave da API é complexa.
  • Você pode não conseguir extrair tantos dados quanto a extração direta, especialmente quando se trata de avaliações ou determinados conteúdos de mídia.

Método 3: Crie seu próprio rastreador DIY do Google Maps

O Google Maps carrega seus dados dinamicamente, tornando necessário o uso de ferramentas como o Puppeteer para extrair corretamente páginas renderizadas em JavaScript. Você pode usar o Selenium, Pyppeteer ou o pacote Playwright Python para executar um navegador sem cabeça e extrair dados relevantes do Google Maps.

Desvantagens:

  • Criar sua própria ferramenta de extração de dados do Google Maps leva muito tempo.
  • Você pode enfrentar desafios como bloqueio de IP, configuração de vários proxies e gerenciamento de limites de solicitação.

Extraindo Dados do Google Map com Python [Rápido e Fácil]

Na parte seguinte, vamos detalhar como extrair dados do Google Map combinando Python e Scrapeless.

Passo 1: As Ferramentas que Usaremos

Vamos apresentar como extrair informações do Google Maps usando a API Scrapeless. Normalmente, você pode usar bibliotecas como BeautifulSoup, Selenium, Puppeteer ou Requests para criar suas próprias soluções DIY para extrair dados do Google Maps.

Mas agora, você pode relaxar. Vamos cuidar dessas tarefas tediosas para você. Com o Scrapeless, você não precisa mais se preocupar com os vários problemas que podem surgir durante a extração de dados da web. Nós o cobrimos, e tudo o que você precisa fazer é executar o código.

Extraia dados do Google Map com facilidade usando o Scrapeless, e deixe-nos lidar com as complexidades. Se você está procurando extrair avaliações, locais ou outras informações valiosas do Google Maps, o Scrapeless é sua solução ideal. Diga adeus ao incômodo da extração manual e olá à extração eficiente de dados.

Passo 2: Configuração e Preparação

  • Depois de se registrar gratuitamente no Scrapeless, você tem US$ 5 gratuitos para realizar pesquisas.
  • Navegue até o Gerenciamento de Chave de API. Em seguida, clique em Criar para gerar sua chave de API exclusiva. Depois de criada, basta clicar na chave de API para copiá-la.
API KEY

Passo 3: Escreva o código de solicitação do Scrapeless.

Suponha que queremos encontrar lugares em Nova York com base na palavra-chave café. Esta API requer um parâmetro ll, que é a latitude e longitude de uma determinada área. Podemos usar uma ferramenta gratuita para obter a latitude e longitude.

Visite este link, precisamos apenas inserir o nome da cidade ou área, ele retornará a longitude e latitude relevantes. Separamos esses números por vírgulas para formar um parâmetro ll completo.

Tome Nova York como exemplo:

  • Latitude: 40.712776
  • Longitude: -74.005974

Portanto, o valor ll é @40.712776,-74.005974

Assim que tivermos o valor ll, podemos formar o código Python completo da API do Scrapeless:

Copy
import json
import requests

class Payload:
    def __init__(self, actor, input_data):
        self.actor = actor
        self.input = input_data

def send_request():
    host = "api.scrapeless.com"
    url = f"https://{host}/api/v1/scraper/request"
    token = "your_token"

    headers = {
        "x-api-token": token
    }

    input_data = {
        "engine": "google_maps",
        "q": "coffee",
        "type": "search",
        "ll": "@40.712776,-74.005974.14z",
    }

    payload = Payload("scraper.google.maps", input_data)

    json_payload = json.dumps(payload.__dict__)

    response = requests.post(url, headers=headers, data=json_payload)

    if response.status_code != 200:
        print("Error:", response.status_code, response.text)
        return

    print("body", response.text)


if __name__ == "__main__":
    send_request()

Descrição dos Parâmetros:

  • Substitua your_token pela chave de API que você obteve no site Scrapeless.
  • O parâmetro q pode ser usado com qualquer palavra-chave que você deseja pesquisar.
  • O parâmetro ll especifica a latitude e longitude do local que você deseja pesquisar.
  • Os resultados da pesquisa podem ser encontrados em result['local_results'] ou result['place_results'].

Diferenças entre resultados de local e resultados locais

A API Scrapeless suporta dois tipos de pesquisas. Por padrão, o tipo é definido como pesquisa, que retorna uma matriz de resultados em local_results. O outro tipo é local, onde você define o tipo como local e usa o parâmetro de dados para fornecer informações detalhadas para um local ou empresa específico. Esse tipo de pesquisa retorna place_results.

De forma mais ampla, local_results é uma lista fornecida quando o escopo da pesquisa é mais amplo, enquanto place_results oferece informações detalhadas para um local específico quando a consulta é muito específica, ou quando você usa place_id ou dados com type=local para buscar resultados para um local específico.

Para obter instruções detalhadas sobre como usar esses parâmetros, consulte nossa documentação oficial da API Scrapeless

Scrapeless API documentation

Podemos obter muitos dados desta API do Google Map Scrapeless, como:

  • Título
  • Coordenadas GPS
  • Resumo da avaliação
  • Avaliação média
  • Preço
  • Tipo
  • Endereço
  • Informações de horário de funcionamento
  • Telefone
  • Site
  • Opções de serviço
  • E assim por diante.
Scraping Google Map Data with Python

Como paginar todos os comentários no Google Maps?

Além de paginar os resultados que extraímos, o Google Maps normalmente retorna 20 resultados por página por padrão, com o parâmetro start definido como 0 para a primeira página. Se você deseja recuperar dados para a segunda página, basta aumentar o valor do parâmetro start em 20.

Copy
 input_data = {
        "engine": "google_maps",
        "q": "coffee",
        "type": "search",
        "ll": "@40.712776,-74.005974.14z",
        "start": "20",
    }

Recomendamos um máximo de 100 (página 6), que é o mesmo comportamento do aplicativo web do Google Maps; acima desse limite, os resultados podem ser duplicados ou perdidos.


Como exportar resultados do Google Maps para CSV?

Se você precisar de dados dos resultados do Google Maps, poderá adicionar o código a seguir. Este exemplo de código mostra como armazenar todos os local_results em CSV. Neste exemplo, salvamos o título, endereço, telefone e site.

Copy
result = response.json()
local_results = result['local_results']

with open('maps-results.csv', 'w', newline='') as csvfile:
    csv_writer = csv.writer(csvfile)

    # Write the headers
    csv_writer.writerow(["Title", "Address", "Phone Number", "Website"])

    # Write the data
    for result in local_results:
        csv_writer.writerow(
            [result["title"], result["address"], result["phone"], result["website"] if "website" in result else ""])

print('Done writing to CSV file.')

Como extrair avaliações do Google Maps

O Scrapeless também fornece uma API de Avaliações para obter informações detalhadas sobre avaliações de locais específicos. Para usar este recurso, você precisa adquirir o place_id ou data_id.

Simplesmente modificando os parâmetros em input_data, você pode obter resultados da API correspondentes aos parâmetros que você fornecer. Essa abordagem permite que você extraia comentários e avaliações do Google Maps de forma eficiente, aproveitando o poder da API Scrapeless.

Copy
input_data = {
    "engine": "google_maps_reviews",
    "data_id": "0x89c259af336b3341:0xa4969e07ce3108de",
}

Observação: O parâmetro data_id ou place_id será retornado nos resultados local_results ou place_results.

How to Scrape Google Maps Reviews

Os resultados incluirão links de avaliação, avaliações, detalhes do usuário, resumos e curtidas. Você pode usar o parâmetro sort_by para classificar por avaliação de alta para baixa.

How to Scrape Google Maps Reviews

Como paginar avaliações

Como paginar os valores disponíveis na resposta da API de Avaliações para obter todos os dados de avaliações? Veja abaixo.

  1. Obtenha o next_page_token na resposta da API de Avaliações acima:
Get the next_page_token in the above Reviews API response
  1. Monte os parâmetros da solicitação para iniciar a solicitação, e retornaremos a próxima página de Avaliações para você:
Copy
input_data = {
    "engine": "google_maps_reviews",
    "data_id": "0x89c259af336b3341:0xa4969e07ce3108de",
    "next_page_token": "CAESY0NBRVFDQnBFUTJwRlNVRlNTWEJEWjI5QlVEZGZURUZMUVU5ZlgxOWZSV2hEU21OSVRrMXBiR0Z4ZG1wNWNqRjJhMEZCUVVGQlIyZHVPVEpSWTBOaGQxWm5abmRuV1VGRFNVRQ=="
}

Quais outros dados o Scrapeless pode rastrear para você

O Scrapeless fornece vários cenários para você rastrear, incluindo os resultados locais e de localização mostrados acima. Além disso, também fornecemos várias APIs como Contributor, Directions API, Photos API, etc. Para diferentes APIs, você só precisa construir parâmetros diferentes:

Aqui, o rastreamento da API de Direções é usado como exemplo. Você só precisa alterar os parâmetros em input_data no código acima. Os resultados incluirão distância, tempo, informações detalhadas de cada viagem, etc.

Copy
input_data = {
    "engine": "google_maps_directions",
    "start_addr": "Austin-Bergstrom International Airport",
    "end_addr": "5540 N Lamar Blvd, Austin, TX 78756, USA",
}

Além disso, você pode usar o parâmetro travel_mode para selecionar o modo de viagem:

select the travel mode

O acima é como rastrear dados do Google Maps e avaliações de locais. Espero que ajude você.


Conclusão

Extrair dados e avaliações do Google Maps pode ser uma ferramenta muito eficaz. No entanto, sem as ferramentas certas, pode ser um desafio técnico, muitas vezes com problemas como CAPTCHA, bloqueio de IP e extração complexa de dados.

Com o Scrapeless, você pode contornar os obstáculos comuns de extração e obter todos os tipos de informações.

Cadastre-se agora e obtenha 100.000 solicitações gratuitas e ganhe créditos gratuitos participando da comunidade Discord.


Recursos Adicionais

Se você também estiver interessado em outras extrações de informações do Google, poderá ler os seguintes artigos detalhados:

Como extrair resultados do Google Acadêmico
Como extrair resultados de empregos do Google
Como extrair dados de voos do Google com Python
Como extrair dados de tendências do Google - Guia fácil e teste gratuito

Na Scorretless, acessamos apenas dados disponíveis ao público, enquanto cumprem estritamente as leis, regulamentos e políticas de privacidade do site aplicáveis. O conteúdo deste blog é apenas para fins de demonstração e não envolve atividades ilegais ou infratoras. Não temos garantias e negamos toda a responsabilidade pelo uso de informações deste blog ou links de terceiros. Antes de se envolver em qualquer atividade de raspagem, consulte seu consultor jurídico e revise os termos de serviço do site de destino ou obtenha as permissões necessárias.

Artigos mais populares

Catálogo