可以用于,监测领取评论金币,及时发现新文章发布等等方面。监测到对应状态,发邮箱,微信,QQ都会弹窗报告监测信息。
例子:
#!usr/bin/env python
# -*- coding: utf-8 -*-
#!文件类型: python
#!创建时间: 2020/10/22 9:12
#!作者: Bin
#!文件名称: AutoFriendLinks.py
#!简介:4414金币文章监控
# coding:utf8
# python3
import threading
import schedule
from selenium import webdriver
import time
import datetime
from selenium.webdriver.chrome.options import Options
import logging
import smtplib
from email.mime.text import MIMEText
from email.header import Header
logging.basicConfig(level=logging.INFO,#控制台打印的日志级别
filename='C:\links\logs\output.log',
filemode='a',##模式,有w和a,w就是写模式,每次都会重新写日志,覆盖之前的日志
#a是追加模式,默认如果不写的话,就是追加模式
format=
'%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'
#日志格式
)
# 打开浏览器
logging.info(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + "#############程序开始运行###########")
# 火狐浏览器
# options = webdriver.FirefoxOptions()
# options.set_headless()
# browser = webdriver.Firefox(options=options)
# 谷歌浏览器
chrome_options = Options()
# chrome_options.add_argument("--headless")
browser = webdriver.Chrome(executable_path='C:\\softs\\chrome\\chromedriver.exe',
options=chrome_options)
titles = []
def sendMail(msg):
# 第三方 SMTP 服务
mail_host = "smtp.qq.com" # 设置服务器
mail_user = "805969201@qq.com" # 用户名
mail_pass = "XXXXXXXXXXXXX" # 口令odpfzmwxjhljgdfe
sender = '805969201@qq.com'
receivers = ['1370811553@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
message = MIMEText('4414有金币领...'+msg, 'plain', 'utf-8')
message['From'] = Header("4414", 'utf-8')
message['To'] = Header("4414", 'utf-8')
subject = '4414有金币领...'+msg
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, receivers, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException:
print("Error: 无法发送邮件")
def job():
#卢松松Alexa刷排名工具-淘博文
global titles
try:
# 站长交流
loginUrl = 'https://www.4414.cn/forum-76-1.html'
browser.get(loginUrl)
time.sleep(5)
els = browser.find_elements_by_class_name("new")
for el in els:
title = el.text
if '剩余' in title:
title = title.split('-')[0]
if title not in titles:
titles.append(title)
print(title)
sendMail("站长交流")
break
except Exception as e:
print("获取金币信息失败:"+str(e))
browser.quit()
def run_threaded(job_func):
job_thread = threading.Thread(target=job_func)
job_thread.start()
schedule.every().minutes.do(run_threaded, job)
if __name__ == '__main__':
while True:
schedule.run_pending()
time.sleep(1)
注意:本文归作者所有,未经作者允许,不得转载