31
loading...
This website collects cookies to deliver better user experience
Necessária para fazer o download do site
Já vem por padrão no Python310
Necessária para o tratamento e manipulação dos arquivos html.
Para criarmos o acesso ao e-mail.
Já vem por padrão no Python310
Biblioteca necessária para o envio dos e-mails.
from requests
from bs4 import BeautifulSoup
import send_email
Criando uma classe chamada CreateNewlatter:
from requests
from bs4 import BeautifulSoup
import send_email
class CreateNewlatter:
def __init__(self) ->None:
# Fazendo download do html do site.
self.response = requeste.get(
'https://infonet.com.br/categoria/noticias/').content
# Convertendo para um objeto BeautfulSoup.
self.site = BeautifulSoup(self.respomse, 'html.parser')
# Obtendo "todos" Titulo das noticias principais
self.title = self.site.findAll(
'a', attrs={'class':'post-url'})
from requests
from bs4 import BeautifulSoup
import send_email
class CreateNewlatter:
def __init__(self) ->None:
# Fazendo download do html do site.
self.response = requeste.get(
'https://infonet.com.br/categoria/noticias/').content
# Convertendo para um objeto BeautfulSoup.
self.site = BeautifulSoup(self.respomse, 'html.parser')
# Obtendo "todos" Titulo das noticias principais
self.title = self.site.findAll(
'a', attrs={'class':'post-url'})
def generatorHtml(self):
# Criando o arquivo html
with open('new_infonet.html', 'w', encoding='utf-8') as new:
# Escrevendo arquivo html.
new.write("""
<!DOCTYPE html>
<html lang='pt-br'>
<meta charset='utf-8'>
<head>
<style>
div{
font-family:Arial, Helvetica, sans-serif;
font-size: 20px;
margin: auto;
width: 100%;
padding: 10px ;
}
h1{
font-size: 28px;
font-family:Arial, Helvetica, sans-serif;
margin: auto;
width: 100%;
padding: 10px;
}
</style>
<title>Principais noticias em Arcaju-SE</title>
</head>
<body>
<h1><b> Noticias que chamaram a
atenção em ARACAJU-SE</b></h1>
""")
# Criando um 'for' para escrevemos
# um div com cada titulo
for t in range(0, 10):
new.write(f"""
<div>
<b>{self.titulos[t].text}:</b>
{self.titulos[t]['href']}
</div>
""")
# Fechando a tag e o arquivo
new.write('</body></html>')
new.close()
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
class Send_email:
def __init__(self)->None:
# Atritutos de criação do server
self.port = 587
# Neste caso vamos utilizar o host do Gmail
self.host = 'smtp.gmail.com'
# E-mail que servirá como host do envio
self.user = '[email protected]'
# Senha de App
self.password = 'SuaSenhaDeApp'
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
class Send_email:
def __init__(self)->None:
# Atributos de criação do server
self.port = 587
# Neste caso vamos utilizar o host do Gmail
self.host = 'smtp.gmail.com'
# E-mail que servirá como host do envio
self.user = '[email protected]'
# Senha de App
self.password = 'SuaSenhaDeApp'
# Função de envio
def createServer(self):
# Criando conexão
server = smtplit.SMTP(self.host, self.port)
server.ehlo()
server.starttls()
server.login(self.user, self.password)
# Abrindo html
with open(
'news_infornet.html', 'r', encoding='utf-8') as html
email_msg = MIMEMultipart()
# Configurando envio
email_msg['From'] = self.user
emails = ''' [email protected],
[email protected],
[email protected],
[email protected]'''
email_msg['To'] = list_emails
email_msg['subject'] = 'Assunto do email'
# Convertendo para o e-mail entender
# que é um arquivo html
email_msg.attach(MIMEText(message_html, 'html'))
# Enviando e-mail
print('Enviando messagem...)
server.sendmail(email_msg['From'], emails.split(','),
email_msg.as_string())
print('Mensagem enviada!')
server.quit()
from requests
from bs4 import BeautifulSoup
# Importando o outo Script
import send_email
class CreateNewlatter:
def __init__(self) ->None:
# Fazendo download do html do site.
self.response = requeste.get(
'https://infonet.com.br/categoria/noticias/').content
# Convertendo para um objeto BeautfulSoup.
self.site = BeautifulSoup(self.respomse, 'html.parser')
# Obtendo "todos" Titulo das noticias principais
self.title = self.site.findAll(
'a', attrs={'class':'post-url'})
# Função principal de inicialização
def app(self):
# Gerando o html
self.generatorHtml()
#Enviando o Html
send = send_email.Send_email()
send.createServer()
def generatorHtml(self):
# Criando o arquivo html
with open('new_infonet.html', 'w', encoding='utf-8') as new:
# Escrevendo arquivo html
new.write("""
<!DOCTYPE html>
<html lang='pt-br'>
<meta charset='utf-8'>
<head>
<style>
div{
font-family:Arial, Helvetica, sans-serif;
font-size: 20px;
margin: auto;
width: 100%;
padding: 10px ;
}
h1{
font-size: 28px;
font-family:Arial, Helvetica, sans-serif;
margin: auto;
width: 100%;
padding: 10px;
}
</style>
<title>Principais noticias em Aracaju-SE</title>
</head>
<body>
<h1><b> Noticias quê chamaram a
atenção em ARACAJU-SE</b></h1>
""")
# Criando um 'for' para escrevemos
# um div com cada titulo
for t in range(0, 10):
new.write(f"""
<div>
<b>{self.titulos[t].text}:</b>
{self.titulos[t]['href']}
</div>
""")
# Fechando a tag e o arquivo
new.write('</body></html>')
new.close()
# Iniciando App
new_infonet = CreateNew()
new_infonet.App()