让女朋友感受程序员的浪漫吧!

发送邮件函数,使用SMTP发送邮件:

dailyemail.py

from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplibdef _format_addr(s):name, addr = parseaddr(s)return formataddr((Header(name, 'utf-8').encode(), addr))def sendemail(toaddr='目标邮箱@qq.com', message=''):fromaddr = 'xxx.com' # 你的邮箱password = 'xxx'    # 你的密码smtp_server = 'smtp.163.com'     # smtp地址msg = MIMEText(message, 'plain', 'utf-8')msg['From'] = _format_addr('老公 <%s>' % fromaddr)msg['To'] = _format_addr('老婆 <%s>' % toaddr)msg['Subject'] = Header('每日晨间问候', 'utf-8').encode()server = smtplib.SMTP(smtp_server, 25)server.set_debuglevel(1)server.login(fromaddr, password)server.sendmail(fromaddr, [toaddr], msg.as_string())server.quit()return

每日爬取天气和土味情话并发送

# -*- coding: utf-8 -*-
import requests
import random
from bs4 import BeautifulSoup
from datetime import datetime
import dailyemaildef getWeather():# 使用BeautifulSoup获取天气信息response=requests.get('http://www.weather.com.cn/weather/101190201.shtml')    response.encoding='uft-8'soup=BeautifulSoup(response.text,'html.parser')tagToday=soup.find('p', class_="tem")try:temperatureHigh=tagToday.span.stringexcept AttributeError:temperatureHigh=tagToday.find_next('p', class_="tem").span.string.replace('℃','')temperatureLow=tagToday.i.string.replace('℃','')weather=soup.find('p', class_="wea").stringtagWind=soup.find('p',class_="win")winL=tagWind.i.stringtoday = datetime.now()today = str(today.year)+'年'+str(today.month)+'月'+str(today.day)+'日'content = '早安!  老婆~\n'+\'今天是:  '+today+'\n'+\'无锡温度:  '+temperatureLow+'℃-'+temperatureHigh+'℃\n'+\'天气:  '+weather+'\n'+\'风级:  '+winLprint(content)return contentdef getlloverwords():# 获取情话texts = []for i in range(1,70):url = 'https://www.duanwenxue.com/huayu/tianyanmiyu/list_{}.html'.format(i)response = requests.get(url)texts.append(response.text)articles = []for text in texts:soup = BeautifulSoup(text,'lxml')arttis = soup.find('div', class_='list-short-article').find_all('a', {'target': "_blank"})  # 寻找情话内容#  通过列表推导式以及for循环获取到每个a标签里面的text内容并通过strip去除空格articles.extend([arttis[i].text.strip() for i in range(len(arttis))])todaywords = articles[random.randint(0, len(articles)-1)]   # 随机选取其中一条情话return todaywordsdef dailymorning():message = getWeather()+'\n'+\'今日份的土味情话:\n'+\getlloverwords()dailyemail.sendemail(toaddr='目标邮箱@qq.com', message=message)if __name__ == '__main__':dailymorning()

定时任务设置

参考:https://www.cnblogs.com/zz0eyu/p/9584000.html

这是windows自带的功能,自认为还是比较强大的。

请返回桌面,在我的电脑上右键选择管理(Manage) -> System Tools -> Task Scheduler,在右侧选择Create Basic Task

这时会弹出一个新的窗口:

  1. 输入任务名,下一步
  2. 之后会让你选择任务的执行周期,这里选在Daily,然后选择开始时间,Recur every这里填写1天,下一步
  3. 这里要选择任务执行的动作,这里为了执行python脚本,选择start a program,下一步
  4. 接下来就要选择执行的程序了,这里需要特别注意:
    1. Program/script: Browse...这里选择pythonw.exe这个程序(后面会说明为什么不选择python.exe)。因为我的电脑里同时安装了python2和python3,所以我的最终路径是这样的C:\Users\YJChan\AppData\Local\Programs\Python\Python36\pythonw.exe
    2. Add arguments这里填写你的脚本路径:E:\Entertainment\Audios\by\autosend.py
    3. Start in保持空白即可

任务创建完成,设置为每天一次就可

效果:

Python 爬虫实战(一) 每天早晨为女朋友发送天气和土味情话邮件相关推荐

  1. python爬虫——实战篇

    python爬虫--实战篇 2021.7.20晚已更新 注:注释和说明已在代码中注释 python爬虫实战篇 笔趣阁小说及其网址爬取 4k图片网站图片爬取 简历模板爬取 自动填体温小程序 待补充 笔趣 ...

  2. 线程,协程对比和Python爬虫实战说明

    此文首发于我的个人博客:线程,协程对比和Python爬虫实战说明 - zhang0peter的个人博客 这篇文章写的是我对线程和协程的理解,有错误之处欢迎指出. 举一个餐馆的例子.我们把一个餐厅当做一 ...

  3. python爬虫图片实例-【图文详解】python爬虫实战——5分钟做个图片自动下载器...

    我想要(下)的,我现在就要 python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识(没看的赶紧去看)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk ...

  4. python爬虫项目-32个Python爬虫实战项目,满足你的项目慌

    原标题:32个Python爬虫实战项目,满足你的项目慌 爬虫项目名称及简介 一些项目名称涉及企业名词,小编用拼写代替 1.[WechatSogou]- weixin公众号爬虫.基于weixin公众号爬 ...

  5. Python爬虫实战六之抓取爱问知识人问题并保存至数据库

    大家好,本次为大家带来的是抓取爱问知识人的问题并将问题和答案保存到数据库的方法,涉及的内容包括: Urllib的用法及异常处理 Beautiful Soup的简单应用 MySQLdb的基础用法 正则表 ...

  6. Python爬虫实战(5):模拟登录淘宝并获取所有订单

    Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫 ...

  7. Python爬虫实战(4):抓取淘宝MM照片

    Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫 ...

  8. Python爬虫实战(3):计算大学本学期绩点

    Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫 ...

  9. Python爬虫实战之(五)| 模拟登录wechat

    作者:xiaoyu 微信公众号:Python数据科学 知乎:Python数据分析师 不知何时,微信已经成为我们不可缺少的一部分了,我们的社交圈.关注的新闻或是公众号.还有个人信息或是隐私都被绑定在了一 ...

最新文章

  1. mutable关键字
  2. webpack快速构建项目
  3. 并发测试工具_软件测试工程师都在用哪些测试工具?
  4. Jam's balance HDU - 5616 (01背包基础题)
  5. Linux系统扩硬盘,Linux系统硬盘扩容
  6. 分析器错误信息: 未能加载类型命名空间.类... ---小结
  7. 新常态 新核心,浪潮商用机器为关键行业数字化转型打造新Power
  8. 分享实录+PPT | 高通高级技术标准总监李俨:移动车联网技术解析
  9. java反射跨空间调用类_10 Java 对象的内存布局
  10. 光绪变法为什么没成功
  11. paip.svn使用小结
  12. 数据库悲观锁和乐观锁
  13. UnixC的第十三天
  14. 离心泵CAE_2_ICEM剖分网格_2_叶轮流道
  15. Android Studio 开发APP流程
  16. 计算机网络技术ui设计,UI设计小白到大神的进阶之路—入门基础篇
  17. 计算机开机后 打不开软件,电脑开机后软件打不开怎么回事
  18. 这款打怪升级的小游戏,7 年前出生于 GitHub 社区,如今在谷歌商店有 8 万人打了满分
  19. matlab 非圆齿轮,非圆齿轮参数化设计关键技术研究
  20. Android Zxing 相册二维码/条码图片识别

热门文章

  1. 罗曼冲牙器W6维修记录
  2. 货拉拉技术副总监陈永庭:基于公共云的技术稳定性保障实践
  3. linux内存管理机制以及free命令详解
  4. jvm专题(3) - 【5/9】工具
  5. 基于JAVA住房公积金筹集子系统的网站系统计算机毕业设计源码+系统+数据库+lw文档+部署
  6. v-if 和 v-show 区别
  7. 体验报告——电影购票类
  8. 简单分享微信公众号预约链接制作的步骤
  9. 【bzoj4715】囚人的旋律 dp
  10. java treemap 遍历删除,遍历Java中TreeMap的值