import streamlit as st from extract import extract_data import pandas as pd def main(): # Definir el estilo CSS css = """ """ # Inyectar el estilo CSS en la aplicación st.markdown(css, unsafe_allow_html=True) # Aplicar el id al título para que se aplique el estilo CSS st.title("PyCARO", anchor="pycaro") # Selector de tipo de búsqueda search_type = st.selectbox("Selecciona el tipo de búsqueda", ["Dominio", "URL"]) # Obtener la URL del dominio o la URL del input del usuario input_label = "Introduce la URL del dominio" if search_type == "Dominio" else "Introduce la URL" user_input = st.text_input(input_label, "") if st.button("🔎"): if not user_input: st.warning("No has introducido ninguna URL") else: mode = "domain" if search_type == "Dominio" else "url" visualize(user_input, mode) def visualize(user_input, mode): try: # Fetch and display the website content with st.spinner("Cargando datos del sitio web ..."): data = extract_data(user_input, mode) if data: st.subheader(f"Resultados para {user_input}") df = pd.DataFrame(data) # Eliminar la columna "Última actualización" si existe if "Última actualización" in df.columns: df = df.drop(columns=["Última actualización"]) # Convertir el DataFrame a HTML y ocultar la columna de índice html_table = df.to_html(index=False, escape=False, border=0) st.markdown(html_table, unsafe_allow_html=True) else: st.error("No se encontraron datos") except Exception as e: st.error(f"Error: {e}") if __name__ == "__main__": main()