背景: 每天n次打开《剑来》小说网站,查看更新,尤其是每次点开都是没有更新的情况下——我痛不欲生[==]今天我痛定思痛,终于下定决心,下午1点到4点 三个小时,做完了这个跟新提醒程序,让我长长的呼出一口恶气~~~~·
舒服了。。。
点击运行,效果:-----
当然,你手机上的网易邮箱也可以收到,到时候试想一下这样一幅场景,
你优哉游哉的在刷手机,
然后突然弹出一个邮件提醒
然后弹出 ‘剑来跟新’
你悠哉悠哉的打开邮箱,打开邮件,
点击邮件包含的连接,
美滋滋的看起了仿佛是自己献上自己的小说~
哦~
起飞~
之前我的博客已经写了一部分相关的知识点 :
邮件发送部分:
用python 来发送邮件,163->qq 失败 qq->163 成功!!!
爬虫部分
python爬虫 入门级 实例 看小说党的福利 学习 《剑来》小说 下载 其他小说原理类似 ~
之后就是一个组装而已
主要逻辑:
#encoding:utf-8
import os
import requests
from bs4 import BeautifulSoup
from weimeng import send_mail # 这个是我自己定义的工具类,下面会给出解释
# 文件处理模块
name = ''
dest = './name.txt'
try:
f = open(dest,'r')
name = f.read()
print ("上一章节序号:"+name) #上一章节序号
f.close()
except Exception as e:
print(e)
f = open(dest,'w')
f.close()
#跟新逻辑判断模块
#爬虫取得最新章节的序号
url = "http://www.jianlaixiaoshuo.com/"
res = requests.get(url)
res.encoding = res.apparent_encoding
data = res.text
html = BeautifulSoup(data,'lxml')
dds = html.find_all('dd')
new_name = dds[-1].find('a').get('href').split('/')[-1]
print("最后一章章节序号:"+new_name)
if name != new_name:
f = open(dest,'w')
f.write(new_name)
f.close()
send_mail.sendJianLaiMail("http://www.jianlaixiaoshuo.com/book/"+new_name)
我自己的工具类 sendMail :
这种工具类和其他import 的依赖放的位置是一样的,自己找一下
点开来都是这样类似的结构:
代码:
# -*- coding: UTF-8 -*-
'''
send mail from qq to 163
@author: weimeng
'''
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 第三方 SMTP 服务
mail_host='smtp.qq.com'#"smtp.163.com" #设置服务器
mail_user="******@qq.com" #用户名
mail_pass="******" #口令 授权密码
sender = '******@qq.com'
receiver = '******@163.com' # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
subject = '剑来跟新'
def sendJianLaiMail(url):
mail_msg = "<p>剑来今天跟新!!!</p><p><a href='{}'>最新一章网址</a></p>".format(url)
message = MIMEText(mail_msg, 'html', 'utf-8')
message['From'] = Header(sender, 'utf-8')
message['To'] = Header(receiver, 'utf-8')
message['Subject'] = Header(subject, 'utf-8')
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
smtpObj.login(mail_user,mail_pass)
smtpObj.sendmail(sender, receiver, message.as_string())
smtpObj.quit()
print ("邮件发送成功")
except smtplib.SMTPException as e:
print(e)
print ("Error: 无法发送邮件")
if __name__ == '__main__':
url='http://www.baidu.com'
sendJianLaiMail(url)
写好的 主体程序 UpdateReminder.py 用 pyinstaller 打包成 exe
cmd 里输入
pyinstaller -i ico文件地址就是一个图片 -F python脚本地址
就会在 ~/dist 目录下生成对应的 UpdateReminder.exe 文件了,如图:
最后定时启动的部分,在window10 环境下,极其简单,怎么打开这个界面:
出门左转
还要加入触发器和操作,填一下很简单
最后可以看到已经加入 任务计划 了 哈哈哈,163邮箱绑定到手机app上,接受邮件!每天静等总管跟新,没有邮件也不用去网站看有没有跟新了。
手机上效果:(我设置的早晚两次跟新检查提醒 9点 和 21点多)
然后电脑有邮箱绑定的话,win10 自带的邮箱有很好了
美滋滋~~~
over