es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo usar Python para hacer clic en un enlace de correo electrónico y descargar datos?

Estoy tratando de leer un correo electrónico específico de mi buzón. Y quiero hacer clic en el hipervínculo ‘Click here’ para comenzar a descargar el archivo de Excel en mi computadora portátil. Estoy probando el siguiente código:

import smtplib
import time
import imaplib
import email
import traceback

ORG_EMAIL = ""@gmail.com""
FROM_EMAIL = ""miemail"" + ORG_EMAIL
FROM_PWD = ""contraseña""
SMTP_SERVER = ""imap.gmail.com""
SMTP_PORT = 993

def leer_correo_desde_gmail():
    try:
        mail = imaplib.IMAP4_SSL(SMTP_SERVER)
        mail.login(FROM_EMAIL, FROM_PWD)
        mail.select(''inbox')

        data = mail.search(None, ''ALL')
        mail_ids = data[1]
        id_list = mail_ids[0].split()
        first_email_id = int(id_list[0])
        latest_email_id = int(id_list[-1])

        for i in range(latest_email_id, first_email_id, -1):
            data = mail.fetch(str(i), ''(RFC822)' )
            for response_part in data:
                arr = response_part[0]
                if isinstance(arr, tuple):
                    msg = email.message_from_string(str(arr[1],'unicode_escape'))
                    email_subject = msg['algunasunto']
                    email_from = msg['recibicorreode@algo.com']
                    # print(''From : '' + email_from + ''\n')
                    # print(''Subject : '' + email_subject + ''\n')
    except Exception as e:
        traceback.print_exc()
        print(str(e))
leer_correo_desde_gmail()

¿Alguien puede ayudarme a cómo puedo hacer clic en el enlace ‘Haga clic aquí para descargar los datos’ del correo electrónico que estoy recuperando?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, el bloque de código anterior solo recupera el correo electrónico y los detalles del asunto y remitente. Para poder hacer clic en un enlace dentro de un correo electrónico y descargar un archivo de Excel, deberá utilizar la API de Gmail y posiblemente un controlador web como Selenium.

    Primero, deberá habilitar la API de Gmail en la Consola del desarrollador de Google y obtener un token de autorización para acceder a su cuenta de correo electrónico.

    A continuación, puede utilizar la API de Gmail para recuperar el correo electrónico específico que desea y extraer el enlace. Una vez que tenga la URL, puede usar Selenium para navegar hasta el enlace y descargar el archivo.

    Aquí hay un esquema general de los pasos:

    1. Habilitar la API de Gmail y obtener el token de autorización.
    2. Utilizar la API de Gmail para recuperar el correo electrónico específico.
    3. Extraer el enlace utilizando regex o bibliotecas de análisis de correos electrónicos como Beautiful Soup.
    4. Utilizar Selenium para navegar hasta el enlace y descargar el archivo.

    Tenga en cuenta que esta puede no ser la forma más eficiente de descargar un archivo de un correo electrónico, y también puede estar sujeto a riesgos de seguridad. Por lo tanto, es importante asegurarse de que solo está accediendo a correos electrónicos y descargando archivos de fuentes confiables.

Comments are closed.