visualisador de imagenes en paginas web crea una ventana 700 x 400 tk introducir una direccion electronica boton buscar sitio web cargar contenido del sitio web previsualizar formatos src
Aquí te muestro un ejemplo de cómo podrías implementar una ventana con Tkinter para visualizar imágenes de un sitio web en Python: ```python import tkinter as tk from tkinter import ttk from PIL import Image, ImageTk import requests from io import BytesIO from bs4 import BeautifulSoup class VisualizadorImagenes: def __init__(self, root): self.root = root self.root.title("Visualizador de imágenes") self.root.geometry("700x400") # Crear frame para la dirección del sitio web self.frame_direccion = ttk.Frame(self.root) self.frame_direccion.pack(fill="x", padx=10, pady=10) # Crear etiqueta y campo de texto para la dirección del sitio web self.label_direccion = ttk.Label(self.frame_direccion, text="Dirección del sitio web:") self.label_direccion.pack(side="left") self.entry_direccion = ttk.Entry(self.frame_direccion, width=50) self.entry_direccion.pack(side="left", fill="x", expand=True) # Crear botón para buscar sitio web self.button_buscar = ttk.Button(self.frame_direccion, text="Buscar sitio web", command=self.buscar_sitio_web) self.button_buscar.pack(side="left") # Crear frame para la previsualización de imágenes self.frame_previsualizacion = ttk.Frame(self.root) self.frame_previsualizacion.pack(fill="both", expand=True, padx=10, pady=10) # Crear etiqueta para la previsualización de imágenes self.label_previsualizacion = ttk.Label(self.frame_previsualizacion, text="Previsualización de imágenes:") self.label_previsualizacion.pack(fill="x") # Crear frame para la previsualización de imágenes self.frame_imagenes = ttk.Frame(self.frame_previsualizacion) self.frame_imagenes.pack(fill="both", expand=True) # Variable para almacenar la dirección del sitio web self.direccion_sitio_web = "" def buscar_sitio_web(self): # Obtener la dirección del sitio web del campo de texto self.direccion_sitio_web = self.entry_direccion.get() # Limpiar el frame de previsualización de imágenes for widget in self.frame_imagenes.winfo_children(): widget.destroy() # Cargar contenido del sitio web try: response = requests.get(self.direccion_sitio_web) soup = BeautifulSoup(response.text, "html.parser") # Buscar imágenes en el sitio web imagenes = soup.find_all("img") # Previsualizar cada imagen for imagen in imagenes: # Obtener la URL de la imagen url_imagen = imagen.get("src") # Cargar la imagen response_imagen = requests.get(url_imagen) imagen_cargada = Image.open(BytesIO(response_imagen.content)) # Redimensionar la imagen imagen_redimensionada = imagen_cargada.resize((200, 150)) # Convertir la imagen a formato Tkinter imagen_tk = ImageTk.PhotoImage(imagen_redimensionada) # Crear etiqueta para la imagen label_imagen = ttk.Label(self.frame_imagenes, image=imagen_tk) label_imagen.image = imagen_tk # Almacenar la imagen para evitar que se elimine label_imagen.pack(side="left", padx=5, pady=5) except Exception as e: print(f"Error: {e}") if __name__ == "__main__": root = tk.Tk() visualizador = VisualizadorImagenes(root) root.mainloop() ``` Este código crea una ventana con un campo de texto para introducir la dirección del sitio web, un botón para buscar el sitio web y un frame para previsualizar las imágenes. Cuando se hace clic en el botón "Buscar sitio web", se carga el contenido del sitio web, se buscan las imágenes y se previsualizan en el frame correspondiente. Recuerda que debes tener instalado el paquete `requests` para realizar solicitudes HTTP y el paquete `Pillow` para manipular imágenes. Puedes instalarlos con pip: ```bash pip install requests pillow ```