Tabela de Conteúdos

Devido às várias proteções (Recaptcha, conteúdo dinâmico, verificações de IP, etc.) a raspagem do Google Maps em pura pitão é uma tarefa desafiadora, mesmo que você tenha experiência na área. Felizmente, há muitas ferramentas que você pode empregar para raspar as revisões em python ou em qualquer outra linguagem de programação.

Neste artigo, você verá as duas ferramentas mais comuns de raspagem do Google Maps: emulação do navegador e API Outscraper. Este tutorial deve ser suficiente para extrair dados para indivíduos como para grandes equipes de dados.

Raspar Google Places em Python

Você pode tentar raspar o Google com píton puro, mas dentro de 10 solicitações você verá que seu software está bloqueado. Isto acontece desde que o Google valida as sessões e espera que o JavaScript faça algumas chamadas API em segundo plano. Portanto, é necessário usar a emulação do navegador para evitar que o Google Maps bloqueie nosso crawler. Além disso, você pode usar proxies.

Para começar a construir o google maps scraper com emulação de navegador, siga os passos descritos neste tutorial Como Raspar Google Maps com Python e Selenium.

Raspar Google Places em Python Em 6 minutos

Desenvolver e manter o raspador do Google Maps pode exigir um grande tempo e esforço. Portanto, muitas equipes de engenharia consideram benéfico para elas focar em seu campo principal e usar o Outscraper Platfom como uma fonte confiável de dados para suas aplicações.

Raspe o Google Maps usando o SDK

1. Você precisará de python3 + e este pacote python. Instale o pacote executando o seguinte comando.

				
					pip install google-services-api
				
			

2. Obtenha sua chave de API em a página do perfil.
3. Importar o pacote e inicializá-lo com a chave. Especifique as consultas para executar a pesquisa desta forma".Restaurantes perto de Los Angeles, EUA". Use países e cidades dentro de cada consulta.

				
					de outscraper importação ApiClient


api_cliet = ApiClient(api_key='KEY_FROM_OUTSCRAPER')
resposta = api_cliet.google_maps_search(
    Restaurantes perto de Los Angeles, EUA",
    language='en',
    region='es',
    limite=100
)
				
			

4. Aguarde alguns segundos até que os dados sejam buscados.

				
					[
    {
        "nome": "Sushi Gen",
        "full_address": "422 E 2nd St, Los Angeles, CA 90012",
        "bairro": "Pequena Tóquio",
        "rua": "422 E 2nd St",
        "cidade": "Los Angeles",
        "postal_code": "90012",
        "country_code": "US",
        "país": "Estados Unidos da América",
        "us_state": "Califórnia",
        "Estado": "Califórnia",
        "plus_code": nulo,
        "latitude": 34.0466917,
        "longitude": -118.2385444,
        "time_zone": "America/Los_Angeles",
        "site": "http://www.sushigen-dtla.com/",
        "telefone": "+1 213-617-0552",
        "tipo": "restaurante Sushi",
        "subtipos": "Restaurante Sushi, restaurante japonês",
        "cargos": nulo,
        "classificação": 4.6,
        "avaliações": 1244,
        "reviews_data": nulo,
        "photos_count": 1261,
        "google_id": "0x80c2c63850150b9d:0x96cdcf9a38a24170",
        "place_id": "ChIJnQsVUDjGwoARcEGiOJrPzZY",
        "reviews_link": "https://search.google.com/local/reviews?placeid=ChIJnQsVUDjGwoARcEGiOJrPzZY&q=Restaurants+near+Los+Angeles,+USA&authuser=0&hl=en&gl=US",
        "reviews_id": "-7580174336512605840",
        "foto": "https://lh5.googleusercontent.com/p/AF1QipMtt0bMtJTF1bDTZ2tbXuWXtZTNWmvjJUu3ejKy",
        "working_hours_old_format": "segunda-feira": Fechado | Terça-feira: 11h20132pm,5\u20137:30pm | Quarta-feira: 11h20132pm,5\u20137:30pm | Quinta-feira: 11h20132pm,5\u20137:30pm | Sexta-feira: 11h2013232pm,5\u20138pm | Sábado 4\u20138PM | domingo: 4\u20138PM | domingo: 4\u20138PM | domingo: 4\u20138PM Fechado",
        "horas_de_trabalho": {
            "Segunda-feira": "Fechado",
            "Terça-feira": "11AM\u20132PM,5\u20137:30PM",
            "Quarta-feira": "11AM\u20132PM,5\u20137:30PM",
            "Quinta-feira": "11AM\u20132PM,5\u20137:30PM",
            "Sexta-feira": "11AM\u20132PM,5\u20138PM",
            "Sábado": "4\u20138PM",
            "Domingo": "Fechado": "Fechado".
        },
        "business_status": "OPERACIONAL",
        "sobre": {
            "Opções de serviço": {
                "Takeout": é verdade,
                "Entrega": falso
            },
            "Saúde e segurança": {
                "Máscara necessária": verdadeira
            },
            "Destaques": {
                "Grande seleção de chá": verdadeiro
            },
            "Popular por": {
                "Almoço": é verdade,
                "Jantar": é verdade,
                "Jantar solitário": verdade
            },
            "Acessibilidade": {
                "Entrada acessível em cadeira de rodas": verdadeiro
            },
            "Ofertas": {
                "Opções saudáveis": verdade,
                "Pequenas placas": verdadeiro
            },
            "Opções de jantar": {
                "Sobremesa": verdadeiro
            },
            "Amenidades": {
                "Cadeiras altas": verdade
            },
            "Atmosfera": {
                "Casual": é verdade,
                "Aconchegante": verdadeiro
            },
            "Multidão": {
                "Grupos": é verdade,
                "Turistas": verdade
            },
            "Planejamento": {
                "Recomenda-se a reserva de jantares": é verdade,
                "Aceita reservas": é verdade,
                "Normalmente uma espera": verdade
            }
        },
        "alcance": "$$$",
        "reviews_per_score": {
            "1": 25,
            "2": 14,
            "3": 52,
            "4": 291,
            "5": 862
        },
        "reserving_table_link": nulo,
        "booking_appointment_link": nulo,
        "owner_id": "100930306416993024046",
        "verificado": é verdade,
        "owner_title": "Sushi Gen",
        "owner_link": "https://www.google.com/maps/contrib/100930306416993024046",
        "location_link": "https://www.google.com/maps/place/Sushi+Gen/@34.0466917,-118.2385444,14z/data=!4m8!1m2!2m1!1sSushi+Gen!3m4!1s0x80c2c63850150b9d:0x96cdcf9a38a24170!8m2!3d34.0466917!4d-118.2385444"
    },
    {
        "nome": "Water Grill",
        "full_address": "544 S Grand Ave, Los Angeles, CA 90071",
        "bairro": "Distrito Financeiro",
        "rua": "544 S Grand Ave",
        "cidade": "Los Angeles",
        "postal_code": "90071",
        "country_code": "US",
        "país": "Estados Unidos da América",
        "us_state": "Califórnia",
        "Estado": "Califórnia",
        "plus_code": nulo,
        "latitude": 34.0490403,
        "longitude": -118.25470659999999,
        "time_zone": "America/Los_Angeles",
        "site": "https://www.watergrill.com/la",
        "telefone": "+1 213-891-0900",
        "tipo": "restaurante de frutos do mar",
        "subtipos": "Seafood restaurant",
        "cargos": nulo,
        "classificação": 4.4,
        "avaliações": 1387,
        "reviews_data": nulo,
        "photos_count": 1429,
        "google_id": "0x80c2c7b4901ce7c7:0x2ad996c9a82b097c",
        "place_id": "ChIJx-cckLTHwoARfAkrqMmW2So",
        "reviews_link": "https://search.google.com/local/reviews?placeid=ChIJx-cckLTHwoARfAkrqMmW2So&q=Restaurants+near+Los+Angeles,+USA&authuser=0&hl=en&gl=US",
        "reviews_id": "3087664812393171324",
        "foto": "https://lh5.googleusercontent.com/p/AF1QipPX7-DP07mvQQSxDjDjuOVYj9HlQ2bvNJ_EEZYW",
        "working_hours_old_format": "Segunda-feira: 11:30h20139PM | Terça-feira: 11:30h20139PM | Quarta-feira: 11:30h20139PM | Quinta-feira: 11:30h20139PM | Sexta-feira: 11:30h201310PM | Sábado: 4\u201310PM | Domingo: 11:30 da manhã 4\u20139PM",
        "horas_de_trabalho": {
            "Segunda-feira": "11:30h20139PM",
            "Terça-feira": "11:30h20139PM",
            "Quarta-feira": "11:30h20139PM",
            "Quinta-feira": "11:30h20139PM",
            "Sexta-feira": "11:30h201310PM",
            "Sábado": "4\u201310PM",
            "Domingo": "4\u20139PM": "4\u20139PM": "4\u20139PM
        },
        "business_status": "OPERACIONAL",
        "sobre": {
            "Opções de serviço": {
                "Takeout": é verdade,
                "Dine-in": é verdade,
                "Entrega": falso
            },
            "Saúde e segurança": {
                "Máscara necessária": é verdade,
                "Os funcionários usam máscaras": é verdade,
                "O pessoal recebe verificação de temperatura": é verdade,
                "Pessoal necessário para desinfetar superfícies entre visitas": verdade
            },
            "Destaques": {
                "Grande sobremesa": verdade
            },
            "Popular por": {
                "Almoço": é verdade,
                "Jantar": é verdade,
                "Jantar solitário": verdade
            },
            "Acessibilidade": {
                "Entrada acessível em cadeira de rodas": é verdade,
                "Assentos acessíveis em cadeira de rodas": verdade
            },
            "Ofertas": {
                "Álcool": é verdade,
                "Cerveja": é verdade,
                "Cocktails": é verdade,
                "Café": é verdade,
                "Licor duro": é verdade,
                "Opções saudáveis": verdade,
                "Comida tardia": é verdade,
                "Placas pequenas": verdade,
                "Opções vegetarianas": é verdade,
                "Vinho": verdadeiro
            },
            "Opções de jantar": {
                "Almoço": é verdade,
                "Jantar": é verdade,
                "Sobremesa": é verdade,
                "Cadeiras": verdade
            },
            "Amenidades": {
                "Bar no local": verdade,
                "Cadeiras altas": é verdade,
                "Sala de descanso": é verdade,
                "Wi-Fi": verdade
            },
            "Atmosfera": {
                "Aconchegante": é verdade,
                "Romântico": é verdade,
                "Upscale": verdadeiro
            },
            "Multidão": {
                "Amigo da família": é verdade,
                "Grupos": é verdade,
                "Turistas": verdade
            },
            "Planejamento": {
                "Recomenda-se a reserva de almoço": é verdade,
                "Recomenda-se a reserva de jantares": é verdade,
                "Aceita reservas": verdade
            }
        },
        "alcance": "$$$",
        "reviews_per_score": {
            "1": 27,
            "2": 32,
            "3": 97,
            "4": 408,
            "5": 823
        },
        "reserving_table_link": "https://www.watergrill.com/la#RESERVATIONS",
        "booking_appointment_link": "https://www.watergrill.com/la#RESERVATIONS",
        "owner_id": "116715188720123884576",
        "verificado": é verdade,
        "owner_title": "Water Grill",
        "owner_link": "https://www.google.com/maps/contrib/116715188720123884576",
        "location_link": "https://www.google.com/maps/place/Water+Grill/@34.0490403,-118.25470659999999,14z/data=!4m8!1m2!2m1!1sWater+Grill!3m4!1s0x80c2c7b4901ce7c7:0x2ad996c9a82b097c!8m2!3d34.0490403!4d-118.25470659999999"
    },
    ...
]
				
			

Tutorial em vídeo sobre como raspar o Google Maps em Python


Bônus

Inscreva-se agora e usar o código de promoção OUTSCRAPER1 para obter o 10% DESLIGADO desconto.

Pacote Python ► https://pypi.org/project/google-services-api
API do Google Maps Places ► https://outscraper.com/google-maps-api

Comentários de 0

Deixe um comentário

Espaço reservado para avatar