小说跟新提醒程序,利用python 爬虫、python 文件存储、python 邮件发送、windows 定时启动 共同完成对于《剑来》小说的全方位、无死角跟新监控!!!

5 篇文章 0 订阅
4 篇文章 0 订阅

背景: 每天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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值