Volver al blog

Cómo raspar los resultados de Google Lens con Scrapeless

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

10-Mar-2025

¿Qué es Google Lens?

Google Lens es una aplicación basada en inteligencia artificial y tecnología de reconocimiento de imágenes que puede identificar objetos, texto, puntos de referencia y otro contenido a través de la cámara o imágenes, y proporcionar información relevante.

Raspar datos de Google Lens no es ilegal, pero existen varias pautas legales y éticas que deben seguirse. Los usuarios deben comprender las Condiciones del servicio de Google, las leyes de privacidad de datos y los derechos de propiedad intelectual para garantizar que sus actividades cumplan con la normativa. Al seguir las mejores prácticas y mantenerse informados sobre los desarrollos legales, puede minimizar el riesgo de problemas legales asociados con el raspado web.

Desafíos en el raspado de Google Lens

  • Tecnología avanzada anti-bot: Google monitorea los patrones de tráfico de red. Se pueden detectar rápidamente grandes cantidades de solicitudes repetitivas de rastreadores, lo que lleva a bloqueos de IP, que detienen el proceso de rastreo.
    Lectura recomendada: Anti-Bot: Qué es y cómo evitarlo
  • Contenido renderizado con JavaScript: Gran parte de los datos de Google Lens se generan dinámicamente mediante JavaScript, que es inaccesible para los rastreadores tradicionales, lo que requiere el uso de navegadores sin cabeza como Puppeteer o Selenium, pero esto aumenta la complejidad y el consumo de recursos.
  • Protección CAPTCHA: Google utiliza CAPTCHA para autenticar a los usuarios humanos. Los rastreadores pueden encontrar desafíos CAPTCHA que son difíciles de resolver mediante programación.
  • Actualizaciones frecuentes del sitio web: Google cambia regularmente la estructura y el diseño de Google Lens. El código de rastreo puede quedar rápidamente obsoleto, y los selectores XPath o CSS utilizados para la extracción de datos pueden dejar de funcionar. Se requiere un monitoreo y actualizaciones constantes.

Guía paso a paso para raspar Google Lens con Python

Paso 1. Configurar el entorno

  • Python: El software es el núcleo de la ejecución de Python. Puede descargar la versión que necesitamos desde el sitio web oficial como se muestra a continuación. Sin embargo, no se recomienda descargar la última versión. Puede descargar 1.2 versiones anteriores a la última versión.
Python
  • IDE de Python: Cualquier IDE que admita Python funcionará, pero recomendamos PyCharm. Es una herramienta de desarrollo específicamente diseñada para Python. Para la versión de PyCharm, recomendamos la edición comunitaria gratuita de PyCharm
IDE de Python

Nota: Si es usuario de Windows, no olvide marcar la opción "Agregar python.exe a PATH" durante el asistente de instalación. Esto permitirá que Windows use Python y comandos en la terminal. Dado que Python 3.4 o posterior lo incluye de forma predeterminada, no necesita instalarlo manualmente.

instalar python

Ahora puede comprobar si Python está instalado abriendo la terminal o el símbolo del sistema e introduciendo el siguiente comando:

Copy
python --version

Paso 2. Instalar dependencias

Se recomienda crear un entorno virtual para gestionar las dependencias del proyecto y evitar conflictos con otros proyectos de Python. Navegue hasta el directorio del proyecto en la terminal y ejecute el siguiente comando para crear un entorno virtual llamado google_lens:

Copy
python -m venv google_lens

Active el entorno virtual en función de su sistema:

Windows:

Copy
google_lens_env\Scripts\activate

MacOS/Linux:

Copy
source google_lens_env/bin/activate

Después de activar el entorno virtual, instale las bibliotecas de Python necesarias para el raspado web. La biblioteca para enviar solicitudes en Python es requests, y la biblioteca principal para raspar datos es BeautifulSoup4. Instálelas usando los siguientes comandos:

Copy
pip install requests
pip install beautifulsoup4
pip install playwright

Paso 3. Raspar datos

Abra Google Lens (https://www.google.com/?olud) en su navegador y busque "https://i.imgur.com/HBrB8p0.png". A continuación se muestra el resultado de la búsqueda:
Raspar datos

Raspar título e información de la imagen

Raspar título e información de la imagen

Algunas imágenes están codificadas en base64, mientras que otras están enlazadas a través de HTTP, por ejemplo:


El código para obtener el título y la información de la imagen es el siguiente:

Copy
# Almacenar la información de Lens en un diccionario
img_info = {
    'title': item.find("span").text,
    'thumbnail': item.find("img").attrs['src'],
}

Dado que necesitamos raspar todos los datos de la página, no solo uno, necesitamos recorrerlos en un bucle y raspar los datos anteriores. El código completo es el siguiente:

Copy
import json

from bs4 import BeautifulSoup
from playwright.sync_api import sync_playwright


def scrape(url: str) -> str:
    with sync_playwright() as p:
        # Iniciar el navegador y desactivar algunas funciones que pueden causar detección
        browser = p.chromium.launch(
            headless=True,
            args=[
                "--disable-blink-features=AutomationControlled",
                "--disable-dev-shm-usage",
                "--disable-gpu",
                "--disable-extensions",
            ],
        )
        context = browser.new_context(
            user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36",
            bypass_csp=True,
        )
        page = context.new_page()
        page.goto(url)
        page.wait_for_selector("body", state="attached")
        # Esperar 2 segundos para asegurar que la página esté completamente cargada o renderizada
        page.wait_for_timeout(2000)
        html_content = page.content()
        browser.close()
    return html_content


def main():
    url = "https://lens.google.com/uploadbyurl?url=https%3A%2F%2Fi.imgur.com%2FHBrB8p0.png"
    html_content = scrape(url)
    soup = BeautifulSoup(html_content, 'html.parser')
    # Obtener los datos principales de la página
    items = soup.find('div', {'jscontroller': 'M3v8m'}).find("div")
    # Ensamblaje circular
    assembly = lens_info(items)
    # Guardar resultados en un archivo JSON
    with open('google_lens_data.json', 'w') as json_file:
        json.dump(assembly, json_file, indent=4)


def lens_info(items):
    lens_data = []
    for item in items:
        # Almacenar la información de Lens en un diccionario
        img_info = {
            'title': item.find("span").text,
            'thumbnail': item.find("img").attrs['src'],
        }
        lens_data.append(img_info)
    return lens_data


if __name__ == "__main__":
    main()

Paso 4. Resultados de salida

Se generará un archivo llamado google_lens_data.json en su directorio de PyCharm. La salida es la siguiente (ejemplo parcial):

Copy
[
  {
    "title": "Danny DeVito - Wikipedia",
    "thumbnail": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxAQEhAQEBAQEB
  },
  {
    "title": "Devito Danny Royalty-Free Images, Stock Photos & Pictures | Shutterstock",
    "thumbnail": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSO6Pkv_UmXiianiCh52nD5s89d7KrlgQQox-f-K9FtXVILvHh_"
  },
  {
    "title": "DATA | Celebrity Stats | Page 62",
    "thumbnail": "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQ9juRVpW6sjE3OANTKIJzGEkiwUpjCI20Z1ydvJBCEDf3-NcQE"
  },
  {
    "title": "Danny DeVito, Grand opening of Buca di Beppo italian restaurant on Universal City Walk Universal City, California - 28.01.09 Stock Photo - Alamy",
    "thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQq_07f-Unr7Y5BXjSJ224RlAidV9pzccqjucD4VF7VkJEJJqBk"
  }
]

Herramientas más eficientes: Cómo raspar resultados de Google Lens con Scrapeless

Scrapeless proporciona una herramienta poderosa que ayuda a los desarrolladores a raspar fácilmente los resultados de búsqueda de Google Lens sin escribir código complejo. Estos son los pasos detallados para integrar la API de Scrapeless en su herramienta de rastreo web de Python:

Paso 1: Regístrese en Scrapeless y obtenga una clave API

  1. Si aún no tiene una cuenta de Scrapeless, visite el sitio web de Scrapeless y regístrese.
  2. Una vez que se haya registrado, inicie sesión en su panel de control.
  3. En el panel de control, navegue a Gestión de claves API y haga clic en Crear clave API. Copie la clave API generada, que será su credencial de autenticación al llamar a la API de Scrapeless.
Regístrese en Scrapeless y obtenga una clave API

Paso 2: Escriba un script de Python para integrar la API de Scrapeless

El siguiente es un ejemplo de código para raspar los resultados de Google Lens utilizando la API de 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_lens",
        hl: "en",
        country: "jp",
        url: "https://s3.zoommer.ge/zoommer-images/thumbs/0170510_apple-macbook-pro-13-inch-2022-mneh3lla-m2-chip-8gb256gb-ssd-space-grey-apple-m25nm-apple-8-core-gpu_550.jpeg",
    }

    payload = Payload("scraper.google.lens", 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()

Notas
Seguridad de la clave API: Asegúrese de no exponer su clave API en el repositorio de código público.
Optimización de consultas: Ajuste los parámetros de consulta según sus necesidades para obtener resultados más precisos. Para obtener más información sobre los parámetros de la API, puede consultar la documentación oficial de la API de Scrapeless

¿Por qué elegir Scrapeless para raspar Google Lens?

Scrapeless es una potente herramienta de raspado web impulsada por IA diseñada para un raspado web eficiente y estable.

1. Datos en tiempo real y resultados de alta calidad

Scrapeless proporciona resultados de búsqueda de Google Lens en tiempo real y puede devolver resultados de búsqueda de Google Lens en 1-2 segundos. Garantiza que los datos que obtienen los usuarios estén siempre actualizados.

2. Precio asequible

El precio de Scrapeless es muy competitivo, con precios tan bajos como solo $0.1 por cada 1,000 consultas.

3. Soporte de funciones potentes

Scrapeless admite varios tipos de búsqueda, incluidos más de 20 escenarios de resultados de búsqueda de Google. Puede devolver datos estructurados en formato JSON, lo que resulta conveniente para que los usuarios analicen y utilicen rápidamente.

Scrapeless Deep SerpAPI: Una potente solución de datos de búsqueda en tiempo real

Scrapeless Deep SerpApi es una plataforma de datos de búsqueda en tiempo real diseñada para aplicaciones de IA y modelos de generación aumentada por recuperación (RAG). Proporciona datos de resultados de búsqueda de Google en tiempo real, precisos y estructurados, que admiten más de 20 tipos de SERP de Google, incluyendo Búsqueda de Google, Tendencias de Google, Google Shopping, Vuelos de Google, Hoteles de Google, Google Maps, etc.

Características principales

  • Actualización de datos en tiempo real: basada en actualizaciones de datos en las últimas 24 horas, lo que garantiza la puntualidad y la precisión de la información.
  • Soporte multilingüe y geolocalización: admite varios idiomas y geolocalización, y puede personalizar los resultados de búsqueda en función de la ubicación, el tipo de dispositivo y el idioma del usuario.
  • Respuesta rápida: El tiempo de respuesta promedio es de solo 1-2 segundos, adecuado para la recuperación de datos de alta frecuencia y a gran escala.
  • Integración perfecta: compatible con lenguajes de programación principales como Python, Node.js, Golang, etc., fácil de integrar en proyectos existentes.
  • Rentable: Con un precio tan bajo como $0.1 por cada 1,000 consultas, es la solución SERP más rentable del mercado.

Ofertas especiales

  • Prueba gratuita: Se proporciona una prueba gratuita, y los usuarios pueden experimentar todas las funciones.
  • Programa de soporte para desarrolladores: Los primeros 100 usuarios pueden obtener una cuota gratuita de llamadas API por valor de $50 (500,000 consultas), adecuada para proyectos de prueba y expansión.

Si tiene alguna pregunta o requisito de personalización, puede ponerse en contacto con Liam haciendo clic en el enlace de Discord.

Conclusión

En este artículo, detallamos cómo usar Scrapeless para rastrear los resultados de búsqueda de Google Lens. Con la potente API proporcionada por Scrapeless, los desarrolladores e investigadores pueden obtener fácilmente datos visuales en tiempo real y de alta calidad sin escribir código complejo ni preocuparse por los mecanismos anti-rastreo. La eficiencia y la flexibilidad de Scrapeless lo convierten en una herramienta ideal para procesar datos de Google Lens.

En Scrapeless, solo accedemos a datos disponibles públicamente y cumplimos estrictamente con las leyes, regulaciones y políticas de privacidad del sitio web aplicables. El contenido de este blog es sólo para fines de demostración y no implica ninguna actividad ilegal o infractora. No ofrecemos garantías y renunciamos a toda responsabilidad por el uso de la información de este blog o enlaces de terceros. Antes de realizar cualquier actividad de scraping, consulte a su asesor legal y revise los términos de servicio del sitio web de destino u obtenga los permisos necesarios.

Artículos más populares

Catalogar