# @Time:2021-8-24 10:26
import requests
from lxml import etree
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
from email.header import Header
import datetime
def get_news():
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'}
url = 'https://www.chinanews.com/'
response = requests.get(url=url,headers=headers)
selector = etree.HTML(response.content, parser=etree.HTMLParser(encoding='utf8'))
daodu = selector.xpath('//*[@id="daodu"]/div[@class="xwzxdd-dbt"]')[0:]
news = []
for item in daodu:
new = item.xpath('./h1/a/text()')[0:]
news.extend(new[0:])
print(news)
return news
def send_news():
date = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 获取当前日期时间
# 输入Email地址和口令:
mail_user_name = 'miya'
mail_user = 'miy****@163.com'
mail_pass = 'CEN********KG'
# 输入收件人地址:
receivers = ["33*****@qq.com"]
# 输入SMTP服务器地址:
smtp_server = 'smtp.163.com'
#输入要发送的内容:
news_list = get_news()
# print(news_list)
msg_header = 'Information collection - miya'
news = "Today's news from python:"+"\n"+date
for i in range(0,len(news_list)):
news = news + "\n %s"%news_list[i]+"\n"
print(news)
msg = MIMEText(news, 'plain', 'utf-8')
msg['From'] = formataddr([mail_user_name, mail_user])
server = smtplib.SMTP_SSL(smtp_server)
msg['Subject'] = Header(msg_header, 'utf-8')
# SMTP协议默认端口是25
#server.set_debuglevel(1)
server.login(mail_user, mail_pass)
try:
for item in receivers:
server.sendmail(mail_user, [item], msg.as_string())
print("Success: 已成功发送邮件!")
server.quit()
except smtplib.SMTPException:
print("Error: 无法发送邮件")
if __name__ == '__main__':
send_news()
20210825 Python 收集新闻发送邮件
最新推荐文章于 2024-07-27 23:02:02 发布