Obtener la información de una URL externa

Cordial saludo,

Athento permite extraer de forma automática la información que viene en un link. Tengo una integración y lo que necesito es que cada vez que ingrese un correo, este extraiga la información contenida en un link y la descargue en un formulario en específico. Si puedo hacerlo ¿Cuál sería la operación?

1 me gusta

Hola @RodrigoNEURO ,

Esto se puede hacer con una operación personalizada, el código sería algo parecido a lo que muestro más abajo.

Puedes enviar un correo a soporte@athento.com con un enlace a un documento de ejemplo en vuestra plataforma y os facilitaremos la operación.

import re
import requests
import os

def extraer_y_guardar_urls(texto, carpeta_salida="urls_contenido"):
    """
    Detecta URLs en un texto, descarga su contenido y lo guarda en ficheros.
    Cada fichero se nombra como url_1.html, url_2.html, etc.
    """

    # Expresión regular para detectar URLs
    patron_url = re.compile(r'(https?://[^\s]+)')

    # Buscar todas las URLs en el texto
    urls = patron_url.findall(texto)

    if not urls:
        print("No se encontraron URLs en el texto.")
        return

    # Crear carpeta de salida si no existe
    os.makedirs(carpeta_salida, exist_ok=True)

    for i, url in enumerate(urls, start=1):
        try:
            print(f"Descargando {url} ...")
            respuesta = requests.get(url, timeout=10)
            respuesta.raise_for_status()

            # Guardar el contenido en un fichero
            nombre_fichero = os.path.join(carpeta_salida, f"url_{i}.html")
            with open(nombre_fichero, "w", encoding="utf-8") as f:
                f.write(respuesta.text)

            print(f"Guardado en {nombre_fichero}")

        except Exception as e:
            print(f"Error al descargar {url}: {e}")