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?
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:
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.