Índice
Google Maps Scraping en Python puro
Scraping Google Maps requires good knowledge of coding, browser emulation, proxies, and a reCAPTCHA solver. Además, también debe estar preparado para hacer frente a los cambios que Google pueda hacer en su contenido dinámico.
En primer lugar, tendrá que imitar el comportamiento del usuario real utilizando la emulación del navegador. Utilizando Selenio u otros emuladores de navegador podrían ser una buena solución.
En segundo lugar, si quiere mantener la seguridad de su IP en la oficina o en el hogar, tendrá que utilizar apoderados. Así que puedes solicitar sitios web desde las IP de otras personas.
Incluso con ese conjunto de herramientas, una vez que tengas un buen uso, Google podría mostrarte reCAPTCHA y vincularlo a algunas de tus IPs. Si no quieres cambiar de IP cada vez que veas un reCAPTCHA, puedes añadir un reCAPTCHA solver.
Además, prepárate para situaciones en las que Google pueda cambiar su contenido. Puede hacerlo realizando pruebas diarias.
Aunque puede llevar algún tiempo implementar el scraper, se puede construir y mantener. Echa un vistazo a este tutorial paso a paso sobre cómo raspar Google Maps usando Python y Selenium para aprender más: Cómo scrapear Google Maps con Python y Selenium.
Google Maps Scraping con el paquete Python Outscraper
Una forma más sencilla y fiable de raspar Google Maps será utilizar el Outscraper biblioteca python. Proporciona un cómodo acceso a la API de Outscraper de las aplicaciones escritas en el lenguaje Python que permite utilizar Servicios de Outscraper de su código.
Puede empezar por instalar el paquete y crear una cuenta en Outscraper.
Instalación
Instale el SDK Outscraper ejecutando el siguiente comando (se requiere Python 3+):
pip install outscraper
Inicialización
Inicialice el cliente Outscraper importando la clase y añadiendo su clave secreta de API. Puedes generar la clave API en la página de perfil.
from outscraper import ApiClient
client = ApiClient(api_key='SECRET_API_KEY')
Ejemplos de uso
A continuación, se muestran ejemplos de cómo se pueden extraer lugares de Google Maps mediante consultas de búsqueda:
# Search for businesses in specific locations:
results = client.google_maps_search_v2(['restaurants brooklyn usa'], limit=20, language='en', region='us')
# Scrap Places by Two Queries
results = client.google_maps_search_v2(
['restaurants brooklyn usa', 'bars brooklyn usa'],
limit=50, # limit of palces per each query
language='en',
region='US',
)
# Iterate over the results
for query_places in results:
for place in query_places:
print('query:', place['query'])
print('name:', place['name'])
print('phone:', place['phone'])
print('website:', place['site'])
También es posible extraer los datos mediante el uso de Place Id:
# Get data of the specific place by id
results = client.google_maps_search_v2(['ChIJrc9T9fpYwokRdvjYRHT8nI4'], language='en')
# Scrap Places by Place Ids
results = client.google_maps_search_v2(
["ChIJ8ccnM7dbwokRy-pTMsdgvS4", "ChIJN5X_gWdZwokRck9rk2guJ1M", "ChIJxWLy8DlawokR1jvfXUPSTUE"],
limit=1, # limit of palces per each query
)
# Iterate over the results
for query_places in results:
for place in query_places:
print('name:', place['name'])
print('place_id:', place['place_id'])
Pruebe ahora el SDK Outscraper
El SDK de Outscraper está disponible para que puedas hacer fácilmente Google Maps Scraping con Python. Puedes probarlo ahora mismo con un nivel gratuito.
Puede raspar los resultados de Google Map utilizando el SDK de Outscraper. Especifique las consultas de búsqueda, el idioma y otros parámetros, y envíe su solicitud.
pip install outscraper
de burlador importar ApiClient cliente = ApiClient(clave_api=CLAVE_API_SECRETA)
# Búsqueda de empresas en lugares específicos: resultados = cliente.google_maps_search(restaurantes brooklyn usa, límite=20, idioma=es) # Obtener datos del lugar específico por id resultados = cliente.google_maps_search('ChIJrc9T9fpYwokRdvjYRHT8nI4', idioma=es) # Búsqueda con muchas consultas (batching) resultados = cliente.google_maps_search([ restaurantes brooklyn usa, bares brooklyn usa, ], idioma=es)
El scraping de Google Maps requiere buenos conocimientos de codificación, emulación de navegadores, proxies y reCAPTCHA solver. Además, también debe estar preparado para hacer frente a los cambios que Google pueda hacer en su contenido dinámico.
Google Maps no permite el scraping. Aunque el scraping y la extracción de datos públicos están protegidos por la Primera Enmienda de la Constitución de los Estados Unidos.
Comentarios de 0