背景: 每天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點多)
美滋滋~~~
over