Python之百度AI Studio积分商店(兑吧)积分商品监控脚本
2022-02-14 22:04
首先对积分兑换页面进行抓包,拿到积分商品的请求数据
headers部分即为请求数据
之后编写监控脚本
# 导入所需的库
# 爬虫相关库
from bs4 import BeautifulSoup # 网页解析,获取数据
import json # json数据处理
import requests # 爬虫请求
import time # 时间库
import random # 生成随机数
# 邮件发送所需的库
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
# 线程控制相关库
import threading
from threading import Timer
# 爬取函数
def get_url():
url = "***" # 根据抓包数据填写url和headers
headers = {***}
response = requests.get(url, headers=headers) # 发起请求
text = response.text # 保存响应数据
return text # 返回响应数据
# 邮件发送函数
def e_mail(mail_title):
host_server = 'smtp.qq.com' # q邮箱smtp服务器
sender_qq = '***@qq.com' # 发件人邮箱
pwd = '***' # qq邮箱授权码
receiver = '***@qq.com' # 收件人邮箱 多个用['a','b']格式
mail_content = "——本邮件来自你的《兑吧商品监控系统》"+"\n"+time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) #邮件正文内容
# 初始化一个邮件主体
msg = MIMEMultipart()
msg["Subject"] = Header(mail_title,'utf-8')
msg["From"] = sender_qq
msg['To'] = ";".join(receiver)
# 邮件正文内容
msg.attach(MIMEText(mail_content,'plain','utf-8'))
# ssl登录
smtp = SMTP_SSL(host_server)
smtp.login(sender_qq,pwd)
# 发送邮件
smtp.sendmail(sender_qq,receiver,msg.as_string())
smtp.quit() # 结束SMTP会话
# 数据处理及监控函数
def times():
c = random.randint(3,15) # 生成随机数3-15
global start_time
lock.acquire()
text = get_url()
text = json.loads(text, strict=False) # 解析响应数据 加载json方法为非标准格式
data = text['data']
count = data['count'] # 商品数
list = data['list'] # 商品列表
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
for a in range(int(data['count'])): # 遍历商品列表
# print(list[a])
print(list[a]['title'] + ' ' + list[a]['titleDownTxt'] + ' ' + list[a]['tagText'].replace(',#aaa', ''))
if list[a]["tagClasses"] == "outofstock": # 根据标签判断
pass
else:
e_mail(list[a]['title'] + ' ' + list[a]['titleDownTxt'] + '已补货,请尽快兑换!') # 发送邮件提醒
a += 1
print('\n')
lock.release()
t = Timer(c, times) # 随机执行 反反爬
t.start()
if __name__ == '__main__':
lock = threading.Lock() # 线程锁防止运行报错
times()
最后使用 Pyinstaller -F 监控脚本.py
命令将脚本打包为exe可执行文件
本文来自博客园,作者:Haibara-Z3r0,转载请注明原文链接:https://www.cnblogs.com/Yu-0/articles/16337717.html