分享一个监控知12的wordpress插件是否更新的脚本

61次阅读
没有评论

共计 1804 个字符,预计需要花费 5 分钟才能阅读完成。

分享一个监控知 12 的 wordpress 插件是否更新的脚本

背景

本站现在用了知 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 这个库

正文完
 
sharp097
版权声明:本站原创文章,由 sharp097 2020-09-06发表,共计1804字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)