Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tkinter as tk
- import webbrowser
- import requests
- from bs4 import BeautifulSoup
- import re
- from datetime import datetime
- def extrair_informacao(url):
- # Faz uma solicitação HTTP para a URL fornecida
- response = requests.get(url)
- # Verifica se a solicitação foi bem-sucedida
- if response.status_code == 200:
- # Cria um objeto BeautifulSoup para fazer o parsing do conteúdo HTML
- soup = BeautifulSoup(response.content, 'html.parser')
- # Extrai o título da página
- title = soup.title.string
- # Extrai a primeira frase de texto da página
- first_paragraph = soup.find('p').text.strip()
- # Extrai o texto da seção content-head__subtitle
- subtitle = soup.find(class_='content-head__subtitle').text.strip()
- # Retorna as informações extraídas
- return title, first_paragraph, subtitle
- else:
- print("Falha ao fazer a solicitação HTTP.")
- return None, None, None
- def abrir_url():
- url = url_entry.get()
- webbrowser.open_new(url)
- def extrair_e_mostrar_informacoes():
- url = url_entry.get()
- title, first_paragraph, subtitle = extrair_informacao(url)
- if title and first_paragraph and subtitle:
- info_text.config(text=f"Título da página: {title}\n\n"
- f"Primeira frase de texto: {first_paragraph}\n\n"
- f"Texto da seção content-head__subtitle: {subtitle}")
- else:
- info_text.config(text="Não foi possível extrair informações da página.")
- # Criar a janela
- root = tk.Tk()
- root.title("Extrair Informações da Página")
- root.geometry("600x400")
- # Criar um rótulo para o campo de URL
- url_label = tk.Label(root, text="URL:")
- url_label.pack(pady=10)
- # Criar um campo de entrada para a URL
- url_entry = tk.Entry(root, width=50)
- url_entry.pack()
- # Criar um botão para abrir a URL no navegador
- open_button = tk.Button(root, text="Abrir URL", command=abrir_url)
- open_button.pack(pady=5)
- # Criar um botão para extrair e mostrar informações
- extract_button = tk.Button(root, text="Extrair e Mostrar Informações", command=extrair_e_mostrar_informacoes)
- extract_button.pack(pady=5)
- # Criar um rótulo para mostrar as informações extraídas
- info_text = tk.Label(root, text="", wraplength=580, justify="left")
- info_text.pack(pady=10)
- # Executar a janela
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement