Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- from bs4 import BeautifulSoup
- import tkinter as tk
- import datetime
- def extrair_conteudo():
- url = entry_url.get()
- # Realiza a requisição GET para obter o conteúdo da página
- response = requests.get(url)
- html_content = response.text
- # Cria um objeto BeautifulSoup para analisar o HTML
- soup = BeautifulSoup(html_content, 'html.parser')
- # Extrai o conteúdo das divs com as classes especificadas
- h1_content = soup.find('h1', class_='content-head__title').text.strip()
- h2_content = soup.find('h2', class_='content-head__subtitle').text.strip()
- article_content = soup.find('article').text.strip()
- # Exibe o conteúdo extraído na textarea
- textarea_output.delete('1.0', tk.END) # Limpa o conteúdo anterior
- textarea_output.insert(tk.END, f'Título: {h1_content}\n')
- textarea_output.insert(tk.END, f'Subtítulo: {h2_content}\n')
- textarea_output.insert(tk.END, f'Conteúdo do artigo: {article_content}\n')
- # Obtém a data e hora atual da coleta
- now = datetime.datetime.now()
- data_hora_coleta = now.strftime('%d/%m/%Y às %H:%M:%S')
- textarea_output.insert(tk.END, f'Data da coleta: {data_hora_coleta}\n')
- # Cria a janela principal
- window = tk.Tk()
- window.title('Extrator de Notícias Globo.com')
- window.geometry('1280x800') # Define o tamanho da janela
- # Cria uma etiqueta e um campo de texto para a URL
- label_url = tk.Label(window, text='URL:')
- label_url.pack()
- entry_url = tk.Entry(window, width=150)
- entry_url.pack()
- # Cria um menu de contexto para a caixa de texto URL
- def paste_text(event):
- entry_url.event_generate('<<Paste>>')
- menu_context = tk.Menu(window, tearoff=0)
- menu_context.add_command(label='Colar', command=lambda: paste_text(None))
- entry_url.bind('<Button-3>', lambda e: menu_context.tk_popup(e.x_root, e.y_root))
- entry_url.bind('<Control-v>', lambda e: paste_text(None))
- # Cria um botão para extrair o conteúdo
- button_extract = tk.Button(window, text='Extrair Conteúdo', command=extrair_conteudo)
- button_extract.pack()
- # Cria uma textarea grande com scroll vertical para exibir o resultado
- textarea_output = tk.Text(window, height=30, width=150)
- textarea_output.pack()
- scrollbar = tk.Scrollbar(window)
- scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
- textarea_output.config(yscrollcommand=scrollbar.set)
- scrollbar.config(command=textarea_output.yview)
- # Inicia o loop de eventos da janela
- window.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement