利用python获得每日情话,邮件发送
人生难啊,总是有人嫌弃我不会说话。每每遇到这样的情况总是去网上复制粘贴好听的情话发过去。这可太难了。为何不作一个类是自动发送的脚本呢?
有想法是好的,就差开始行动了!!
分析情话网站dom结构
分析此网站http://www.1juzi.com/new/150542.html
关键信息都在class为 content 的p标签里面,通过python的request拿到html源代码。beautifulSoup解析dom结构

# 返回多条语录
def findLoveWord():
url ="http://www.1juzi.com/new/150542.html"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE",
}
content = requests.get(url, headers=headers, verify=False).content.decode("gb2312",errors="ignore")
soup = BeautifulSoup(content, 'html.parser')
contentDocument = soup.find(class_="content").find_all("p")[:50]
loveList=[];
for dom in contentDocument:
domString = dom.string
domString = domString[domString.index("、")+1:]
loveList.append(domString)
return loveList
通过第三方邮件如qq平台发送邮件
# 第三方 SMTP 服务
mail_host = "smtp.qq.com" # 设置服务器
mail_user = "xxx@qq.com" # 用户名
mail_pass = "xxxxx" # 口令
def sendMessage(msg):
sender = 'xxx@qq.com'
receivers = ['xxx@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
message = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("情话", 'utf-8')
message['To'] = Header("接收人", 'utf-8')
message['Subject'] = Header(msg, 'utf-8')
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException as e:
print("Error: 无法发送邮件" + e)
效果图如下
