共计 1804 个字符,预计需要花费 5 分钟才能阅读完成。
背景
本站现在用了知 12 提供的 wordpress 付费阅读插件,但是他们没有把插件发布到 wordpress 的插件商店,从而也就无法得知新版本的更新,导致上个月有个用户微信上和我反馈我的博客在付费完之后不会自动跳转然后显示隐藏内容了,需要手动验证,最主要的是要多次重复验证最后才成功,体验十分不好,当时我一看我的知 12 提供的 paywall 插件还是一个 beta 版本的,官网上已经在这之后又更新了好几版了,当机立断,我马上花几分钟用 filezilla 把插件更新到了官网最新的版本,然后找之前反馈问题的网友又测试了一下,他说一切都变得很 smooth 了~🤣
上菜
#!/usr/bin/env python3
# coding = 'utf-8'
"""
@Time : 2020/9/5-22:58
@Author : sharp
@FileName: zhi12.py
@Software: PyCharm
@Blog:https://www.sharpgan.com/
"""
import smtplib
import requests
from bs4 import BeautifulSoup
from user_agent import generate_user_agent
from email.mime.text import MIMEText
HOST = 'smtp.qq.com'
PORT = 587
SENDER = '@qq.com'
RECEIVER = '@qq.com'
PWD = ''headers = {"accept":"text/html,application/xhtml+xml,application/xml;""q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,"
"application/signed-exchange;v=b3;q=0.9",
'Accept-Language': 'en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7',
'Accept-Encoding': 'gzip, deflate, br',
'User-Agent': generate_user_agent(os='win')}
def mail_send(subject, mail_body):
try:
msg = MIMEText(mail_body, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = SENDER
msg['To'] = RECEIVER
s = smtplib.SMTP(HOST, PORT)
s.debuglevel = 0
s.login(SENDER, PWD)
s.sendmail(SENDER, RECEIVER, msg.as_string())
s.quit()
except smtplib.SMTPException as e:
print(str(e))
exit(1)
def get_soup():
url = "https://zhi12.cn/paywall/download"
data = requests.get(url, headers=headers).text
soup = BeautifulSoup(data, 'lxml')
return soup
def compare():
# 这里的当前版本请自行修改为知 12 官网的最新版本
current_version = "3.1.2"
soup = get_soup()
tbody = soup.select("table tbody")[1]
new_version = tbody.select('tr td')[1].get_text()
if new_version == current_version:
return False
else:
return True
def main(arg1,arg2):
if compare():
mail_send(subject='知 12 的 wordpress 插件更新了!',
mail_body='知 12 的 wordpress 插件更新了!')
print('知 12 的 wordpress 插件更新了!')
print('成功发送了一封邮件!')
else:
print("知 12 今天没有更新 wordpress 插件版本!")
部署
推荐用腾讯云云函数部署,否则自行修改 main()函数签名和调用,
请参考本站的 这一篇博客,
请注意在 pip 安装库的时候带上 user_agent 这个库
正文完