Volver al blog

Cómo extraer datos de cotizaciones bursátiles de Google Finance en Python

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

14-Mar-2025

En el acelerado mundo de las finanzas, el acceso a datos del mercado bursátil actualizados y precisos es esencial para inversores, traders y analistas. Google Finance es un recurso invaluable que proporciona cotizaciones bursátiles en tiempo real, datos financieros históricos, noticias y tipos de cambio. Aprender a extraer estos datos usando Python puede ser de gran beneficio para aquellos que buscan agregar datos, realizar análisis de sentimiento, hacer pronósticos del mercado o gestionar eficazmente el riesgo.


¿Por qué extraer datos de Google Finance?

Extraer datos de Google Finance puede ser beneficioso por varias razones, incluyendo:

  • Datos bursátiles en tiempo real – Acceder a precios de acciones actualizados, tendencias del mercado y rendimiento histórico.
  • Análisis de mercado automatizado – Recopilar datos financieros a gran escala para análisis de tendencias, gestión de carteras o trading algorítmico.
  • Información de la empresa – Recopilar resúmenes financieros, informes de ganancias y rendimiento de acciones para la investigación de inversiones.
  • Investigación de la competencia y del sector – Monitorear la salud financiera de los competidores y las tendencias del sector para tomar decisiones basadas en datos.
  • Análisis de noticias y sentimiento – Extraer artículos de noticias y actualizaciones relacionadas con acciones o sectores específicos para el seguimiento del sentimiento.

Qué se extraerá

Qué se extraerá

Cómo extraer datos de cotización de acciones de Google Finance en Python

Paso 1. Configurar el entorno

  • Python: El software es el núcleo de la ejecución de Python. Puedes 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. Puedes descargar 1.2 versiones anteriores a la última versión.

  • IDE de Python: Cualquier IDE que admita Python funcionará, pero recomendamos PyCharm. Es una herramienta de desarrollo diseñada específicamente para Python. Para la versión de PyCharm, recomendamos la edición comunitaria gratuita de PyCharm

IDE de Python

Nota: Si eres usuario de Windows, no olvides 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 necesitas instalarlo manualmente.

Ahora puedes 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. Navega hasta el directorio del proyecto en la terminal y ejecuta el siguiente comando para crear un entorno virtual llamado google_lens:

Copy
python -m venv google_finance

Activa el entorno virtual según tu sistema:

  • Windows:
language Copy
google_finance_env\Scripts\activate
  • MacOS/Linux:
language Copy
source google_finance_env/bin/activate

Después de activar el entorno virtual, instala las bibliotecas Python necesarias para la extracción web. La biblioteca para enviar solicitudes en Python es requests, y la biblioteca principal para extraer datos es BeautifulSoup4. Instálalas usando los siguientes comandos:

language Copy
pip install requests
pip install beautifulsoup4
pip install playwright

Paso 3. Extraer datos

Para extraer información de acciones de Google Finance, primero debemos entender cómo usar la URL del sitio web para extraer la acción deseada. Tomemos el índice Nasdaq como ejemplo, que contiene múltiples acciones de las que podemos obtener información. Para acceder al símbolo de cada acción, podemos usar el filtro de acciones Nasdaq desde este enlace. Ahora, vamos a elegir META como nuestra acción objetivo. Con el índice y la acción en mano, podemos construir el primer fragmento del script.

Protegemos firmemente la privacidad del sitio web. Todos los datos de este blog son públicos y solo se utilizan como demostración del proceso de rastreo. No guardamos ninguna información ni datos.

language Copy
import requests
from bs4 import BeautifulSoup
BASE_URL = "https://www.google.com/finance"
INDEX = "NASDAQ"
SYMBOL = "META"
LANGUAGE = "en"
TARGET_URL = f"{BASE_URL}/quote/{SYMBOL}:{INDEX}?hl={LANGUAGE}"

Ahora podemos usar la biblioteca Requests para hacer una solicitud HTTP en TARGET_URL y crear una instancia de Beautiful Soup para extraer el contenido HTML.

language Copy
hacer una solicitud HTTP
page = requests.get(TARGET_URL)# usar un analizador HTML para obtener el contenido de "page"
soup = BeautifulSoup(page.content, "html.parser")

Antes de comenzar a rastrear, primero debemos procesar el elemento HTML (TARGET_URL) inspeccionando la página web.

Descripción de acciones

Los elementos que describen las acciones están representados por la clase gyFHrc. Dentro de cada uno de estos elementos, hay una clase que representa el título del elemento (por ejemplo, "Último precio de cierre") y el valor correspondiente (por ejemplo, $597.99). El título se puede obtener de la clase mfs7Fc, mientras que el valor proviene de la clase P6K39c.

Título de la acción
Valor de la acción

La lista completa de elementos a rastrear es la siguiente:

  • Último cierre
  • Rango del día
  • Rango del año
  • Capitalización bursátil
  • Volumen medio
  • Relación P/E
  • Rendimiento de dividendos
  • Mercado principal
  • CEO
  • Fundada
  • Sitio web
  • Empleados

Ahora veamos cómo obtener estos elementos usando código Python.

Copy
# obtener los elementos que describen la acción
items = soup.find_all("div", {"class": "gyFHrc"})


# crear un diccionario para almacenar la descripción de la acción
stock_description = {}

# iterar sobre los elementos y agregarlos al diccionario
for item in items:
    item_description = item.find("div", {"class": "mfs7Fc"}).text
    item_value = item.find("div", {"class": "P6K39c"}).text
    stock_description[item_description] = item_value


print(stock_description)

Este es solo un ejemplo de un script simple que se puede integrar en un bot de trading, una aplicación o un panel simple para rastrear tus acciones favoritas.

Código completo

Hay muchos más atributos de datos que puedes obtener de la página, pero por ahora, el código completo se parece un poco a esto.

language Copy
import requests
from bs4 import BeautifulSoup
BASE_URL = "https://www.google.com/finance"
INDEX = "NASDAQ"
SYMBOL = "META"
LANGUAGE = "en"
TARGET_URL = f"{BASE_URL}/quote/{SYMBOL}:{INDEX}?hl={LANGUAGE}"# hacer una solicitud HTTP
page = requests.get(TARGET_URL)# usar un analizador HTML para obtener el contenido de "page"
soup = BeautifulSoup(page.content, "html.parser")# obtener los elementos que describen la acción
items = soup.find_all("div", {"class": "gyFHrc"})# crear un diccionario para almacenar la descripción de la acción
stock_description = {}# iterar sobre los elementos y agregarlos al diccionariofor item in items:
for item in items:
    item_description = item.find("div", {"class": "mfs7Fc"}).text
    item_value = item.find("div", {"class": "P6K39c"}).text
    stock_description[item_description] = item_value

Estos son algunos ejemplos de los resultados:

algunos ejemplos de los resultados

Limitaciones al extraer datos de Google Finance

Usando el método anterior, puedes crear un pequeño extractor, pero si vas a realizar una extracción a gran escala, este extractor no continuará proporcionándote datos. Google es muy sensible a la extracción de datos y eventualmente bloqueará tu IP.

Una vez que tu IP esté bloqueada, no podrás extraer nada y tu canal de datos eventualmente se interrumpirá. Entonces, ¿cómo superar este problema? Hay una solución muy simple y es usar la API de extracción de datos de Google Finance.

Veamos cómo extraer datos ilimitados de Google Finance usando esta API.


¿Por qué usar la API de extracción de datos de Google Finance de Scrapeless?

Calidad y precisión de los datos

  • Datos de alta precisión: Scrapeless SerpApi siempre proporciona datos de Google Finance precisos, fiables y actualizados, asegurando que los usuarios puedan obtener la información de mercado más auténtica y útil.
  • Actualizaciones en tiempo real: Poder obtener los datos más recientes de Google Finance en tiempo real, incluyendo cotizaciones bursátiles en tiempo real, tendencias del mercado, etc., es esencial para los usuarios que necesitan tomar decisiones de inversión oportunas.

Soporte multilingüe y de ubicación

  • Soporte multilingüe: Admite múltiples idiomas, y los usuarios pueden obtener datos financieros en diferentes idiomas según sus necesidades para satisfacer las necesidades de usuarios en diferentes regiones del mundo.
  • Personalización de la ubicación: Puedes obtener resultados de búsqueda personalizados en función de ubicaciones geográficas, tipos de dispositivos y otros parámetros especificados, lo cual es muy útil para analizar las condiciones del mercado en diferentes regiones o realizar investigaciones de mercado localizadas.

Ventajas de rendimiento y coste

  • Velocidad súper rápida: Con un tiempo de respuesta medio de solo 1-2 segundos, Scrapeless SerpApi es una de las API de rastreo de búsqueda más rápidas del mercado, lo que puede proporcionar rápidamente a los usuarios los datos necesarios.
  • Rentable: Scrapeless SerpApi proporciona API de búsqueda de Google a solo $0.1 por mil consultas. Este modelo de precios es muy rentable para proyectos de extracción de datos a gran escala.
    Integración
  • Fácil integración: Scrapeless SerpApi admite la integración con una variedad de lenguajes de programación populares (como Python, Node.js, Golang, etc.), y los usuarios pueden integrarlo fácilmente en sus propias aplicaciones o herramientas de análisis.
    Estabilidad y fiabilidad
  • Alta disponibilidad: Scrapeless SerpApi tiene una alta disponibilidad y estabilidad del servicio, lo que puede garantizar un servicio ininterrumpido a los usuarios durante la extracción de datos a largo plazo y de alta frecuencia.
  • Soporte profesional: Scrapeless SerpApi proporciona soporte técnico profesional y servicio al cliente para ayudar a los usuarios a resolver los problemas encontrados durante el uso y garantizar que los usuarios puedan obtener y utilizar los datos sin problemas.

Cómo extraer datos de Google Finance con Scrapeless

Paso 1: Regístrate en Scrapeless y obtén una clave API

  1. Si aún no tienes una cuenta de Scrapeless, visita el sitio web de Scrapeless y regístrate. Puedes obtener 20.000 consultas de búsqueda gratuitas.
  2. Una vez registrado, inicia sesión en tu panel.
  3. En el panel, navega a Gestión de claves API y haz clic en Crear clave API. Copia la clave API generada, que será tu credencial de autenticación al llamar a la API de Scrapeless.
Obtener una clave API

Paso 2: Accede al área de pruebas de Deep SerpApi

  • Luego navega a la sección "Deep SerpApi".

![Navega a la sección "Deep SerpApi"]](https://assets.scrapeless.com/prod/posts/scrape-google-finance-python/d614e31ce7686a4df82888093b444db5.png)

Paso 3: Establece los parámetros de búsqueda

  • En el área de pruebas, ingresa tu palabra clave de búsqueda, como "GOOGL:NASDAQ".
  • Establece otros parámetros, como el término de consulta, el idioma, la hora, etc.

También puedes hacer clic para ver la documentación oficial de la API de Scrapeless para obtener más información sobre los parámetros de Google Finance.

Establecer parámetros de búsqueda

Paso 4: Realiza una búsqueda

  • Haz clic en el botón "Iniciar búsqueda", y el área de pruebas enviará una solicitud a la API Deep Serp y devolverá datos JSON estructurados.

Paso 5: Ver y exportar datos

  • Explora los datos JSON devueltos para ver información detallada.
  • Si es necesario, puedes hacer clic en "Copiar" en la esquina superior derecha para exportar los datos a formato CSV o JSON para un análisis posterior.

Soporte gratuito para desarrolladores:
Integra Scrapeless Deep SerpApi en tu herramienta de IA, aplicación o proyecto (ya admitimos Dify, y admitiremos Langchain, Langflow, FlowiseAI y otros frameworks en el futuro).
Comparte los resultados de tu integración en las redes sociales y obtendrás de 1 a 12 meses de soporte gratuito para desarrolladores, hasta 500.000 usos por mes.
¡Aprovecha esta oportunidad para mejorar tu proyecto y disfrutar de más soporte de desarrollo! También puedes ponerte en contacto con Liam a través de Discord para obtener más información.

Cómo integrar la API de Scrapeless

Aquí tienes el código de ejemplo para extraer resultados de Google Finance usando la API de Scrapeless:

language 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 = "tu clave API"

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

    input_data = {
        "q": "GOOG:NASDAQ",
        "window": "MAX",
        .....
    }

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

Ajusta los parámetros de consulta según sea necesario para obtener resultados más precisos. Para obtener más información sobre los parámetros de la API, puedes consultar la documentación oficial de la API de Scrapeless.
Debes reemplazar TU-CLAVE-API con la clave API que copiaste.


Recursos adicionales

Cómo extraer datos de Google News con Python
Cómo evitar Cloudflare con Puppeteer
Cómo extraer datos de los resultados de Google Lens con Scrapeless

Conclusión

En conclusión, extraer datos de cotización de acciones de Google Finance en Python es una técnica poderosa para acceder a información financiera en tiempo real. Al utilizar bibliotecas como requests y BeautifulSoup, o herramientas más avanzadas como Selenium, puedes extraer y analizar eficientemente los datos del mercado para informar tus decisiones de inversión. Recuerda respetar las condiciones de servicio del sitio web y considera usar las API oficiales cuando estén disponibles para un acceso sostenible a los datos.

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