Spaces:
Sleeping
Sleeping
Marcepelaez
commited on
Commit
•
8dbe60c
1
Parent(s):
7828f71
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import re
|
2 |
+
import streamlit as st
|
3 |
+
|
4 |
+
def extract_emails(text):
|
5 |
+
"""
|
6 |
+
Función para extraer direcciones de correo electrónico únicas de un texto.
|
7 |
+
"""
|
8 |
+
email_pattern = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'
|
9 |
+
emails = re.findall(email_pattern, text)
|
10 |
+
return sorted(set(emails)) # Ordenar y eliminar duplicados
|
11 |
+
|
12 |
+
# Configuración de la aplicación Streamlit
|
13 |
+
st.title("Extractor de Direcciones de Correo Electrónico")
|
14 |
+
st.write(
|
15 |
+
"Esta herramienta permite extraer todas las direcciones de correo electrónico únicas de un bloque de texto."
|
16 |
+
)
|
17 |
+
|
18 |
+
# Campo de entrada de texto
|
19 |
+
input_text = st.text_area(
|
20 |
+
"Copia y pega tu texto aquí (hasta 100,000 caracteres):",
|
21 |
+
height=300,
|
22 |
+
max_chars=100000,
|
23 |
+
)
|
24 |
+
|
25 |
+
# Botón para extraer correos electrónicos
|
26 |
+
if st.button("Extract Email"):
|
27 |
+
if input_text.strip():
|
28 |
+
emails = extract_emails(input_text)
|
29 |
+
if emails:
|
30 |
+
st.success(f"Se encontraron {len(emails)} direcciones de correo electrónico únicas:")
|
31 |
+
st.write("\n".join(emails)) # Mostrar la lista
|
32 |
+
st.download_button(
|
33 |
+
label="Descargar resultados",
|
34 |
+
data="\n".join(emails),
|
35 |
+
file_name="emails.txt",
|
36 |
+
mime="text/plain",
|
37 |
+
)
|
38 |
+
else:
|
39 |
+
st.warning("No se encontraron direcciones de correo electrónico en el texto proporcionado.")
|
40 |
+
else:
|
41 |
+
st.error("Por favor, ingresa algún texto para analizar.")
|
42 |
+
|
43 |
+
st.write("Desarrollado con ❤️ por Peláez en MDQ")
|