ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo reemplazar Octoparse para datos de Google Maps
Tutorial

Cómo reemplazar Octoparse para datos de Google Maps

Cambie de Octoparse scraping a una API de búsqueda para datos comerciales de Google Maps. Configuración más rápida, sin automatización del navegador, salida JSON estructurada.

Obtener clave API gratisDocumentacion API

Reemplace Octoparse para la extracción de datos de Google Maps cambiando del raspado basado en navegador a una API de búsqueda que devuelva datos comerciales estructurados directamente. Octoparse requiere configurar flujos de trabajo de raspado visual, administrar instancias del navegador y manejar medidas anti-bot que Google actualiza continuamente. Una API de búsqueda devuelve los mismos datos comerciales locales que JSON estructurado sin sobrecarga del navegador, sin problemas anti-bot y sin mantenimiento del flujo de trabajo. El cambio elimina el costo del plan Octoparse Standard ($69/mes) al tiempo que proporciona un acceso a datos más confiable.

Requisitos previos

  • Python 3.8+ instalado
  • solicita biblioteca instalada
  • Una clave API de Scavio de scavio.dev
  • Categorías de empresas y ubicaciones para buscar

Guia paso a paso

Paso 1: Buscar empresas locales

Consulta a Google a través de la API para obtener listados de empresas locales que Octoparse eliminaría.

Python
import os, requests, json

API_KEY = os.environ['SCAVIO_API_KEY']

def search_local(query: str, location: str) -> list:
    full_query = f'{query} in {location}'
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': 'google', 'query': full_query}, timeout=15)
    data = resp.json()
    results = data.get('organic_results', [])
    businesses = []
    for r in results:
        businesses.append({
            'name': r.get('title', ''),
            'url': r.get('link', ''),
            'snippet': r.get('snippet', ''),
            'source': r.get('source', ''),
        })
    return businesses

businesses = search_local('plumbers', 'Austin TX')
print(f'Found {len(businesses)} results')
for b in businesses[:3]:
    print(f"  {b['name'][:50]}")

Paso 2: Extraer detalles comerciales

Analice información empresarial a partir de fragmentos de resultados de búsqueda, incluidos números de teléfono, direcciones y calificaciones.

Python
import re

def extract_business_details(result: dict) -> dict:
    text = result.get('snippet', '') + ' ' + result.get('name', '')
    # Extract phone number
    phone_match = re.search(r'\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}', text)
    phone = phone_match.group() if phone_match else ''
    # Extract rating
    rating_match = re.search(r'(\d+\.?\d*)\s*(?:stars?|rating|/5)', text.lower())
    rating = float(rating_match.group(1)) if rating_match else 0
    # Extract review count
    review_match = re.search(r'(\d[\d,]*)\s*reviews?', text.lower())
    reviews = review_match.group(1).replace(',', '') if review_match else '0'
    return {
        'name': result.get('name', result.get('title', '')),
        'phone': phone,
        'rating': rating,
        'reviews': int(reviews) if reviews.isdigit() else 0,
        'url': result.get('url', result.get('link', '')),
        'snippet': result.get('snippet', '')[:200],
    }

for b in businesses[:3]:
    details = extract_business_details(b)
    print(f"  {details['name'][:40]}: rating={details['rating']}, phone={details['phone']}")

Paso 3: Buscar múltiples categorías

Búsqueda por lotes en múltiples categorías comerciales y ubicaciones.

Python
import time

def multi_category_search(categories: list, locations: list) -> list:
    all_results = []
    for location in locations:
        for category in categories:
            businesses = search_local(category, location)
            for b in businesses:
                details = extract_business_details(b)
                details['category'] = category
                details['location'] = location
                all_results.append(details)
            print(f'{category} in {location}: {len(businesses)} results')
            time.sleep(0.3)
    return all_results

categories = ['plumbers', 'electricians', 'HVAC repair']
locations = ['Austin TX', 'Houston TX']
results = multi_category_search(categories, locations)
print(f'\nTotal businesses found: {len(results)}')

Paso 4: Deduplicar empresas

Elimine listados duplicados que aparecen en múltiples búsquedas.

Python
def deduplicate_businesses(businesses: list) -> list:
    seen = set()
    deduped = []
    for b in businesses:
        key = b['name'].lower().strip()[:40]
        if key in seen:
            continue
        seen.add(key)
        deduped.append(b)
    removed = len(businesses) - len(deduped)
    print(f'Deduplication: {len(businesses)} -> {len(deduped)} ({removed} removed)')
    return deduped

deduped = deduplicate_businesses(results)

Paso 5: Exportar a CSV

Guarde los datos comerciales extraídos como un CSV, que coincida con el formato que habría exportado Octoparse.

Python
import csv

def export_businesses(businesses: list, output_path: str):
    fields = ['name', 'category', 'location', 'phone', 'rating', 'reviews', 'url', 'snippet']
    with open(output_path, 'w', newline='') as f:
        writer = csv.DictWriter(f, fieldnames=fields, extrasaction='ignore')
        writer.writeheader()
        writer.writerows(businesses)
    print(f'Exported {len(businesses)} businesses to {output_path}')

export_businesses(deduped, 'local_businesses.csv')

# Compare with Octoparse:
# Octoparse: $69/mo Standard, browser-based, anti-bot issues
# Scavio API: $30/mo for 7K credits, no browser, structured JSON
print('\nOctoparse replacement complete')

Ejemplo en Python

Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def local_search(category, location):
    data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': f'{category} in {location}'}).json()
    return [{'name': r.get('title', ''), 'url': r.get('link', '')}
        for r in data.get('organic_results', [])[:5]]

print(local_search('plumbers', 'Austin TX'))

Ejemplo en JavaScript

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function localSearch(category, location) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: H,
    body: JSON.stringify({platform: 'google', query: `${category} in ${location}`})
  });
  return ((await r.json()).organic_results || []).slice(0, 5)
    .map(r => ({name: r.title, url: r.link}));
}
localSearch('plumbers', 'Austin TX').then(console.log);

Salida esperada

JSON
A local business data extraction pipeline that replaces Octoparse browser scraping with API-based search, producing the same CSV output without browser automation overhead.

Tutoriales relacionados

  • Cómo realizar un seguimiento diario de las métricas geográficas con una API de búsqueda
  • Cómo crear una API de seguimiento de competidores de Shopify

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Python 3.8+ instalado. solicita biblioteca instalada. Una clave API de Scavio de scavio.dev. Categorías de empresas y ubicaciones para buscar. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

Las mejores API de datos comerciales de Google Maps (mayo de 2026)

Read more
Best Of

La mejor API de Google Maps para la extracción de clientes potenciales en 2026

Read more
Glossary

Costo de la API de Google Maps Places

Read more
Solution

Enriquezca las campañas de correo electrónico frío con datos comerciales de Google Maps

Read more
Glossary

Extracción de clientes potenciales de Google Maps

Read more
Comparison

Octoparse vs Scavio

Read more

Empieza a construir

Cambie de Octoparse scraping a una API de búsqueda para datos comerciales de Google Maps. Configuración más rápida, sin automatización del navegador, salida JSON estructurada.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad