云函数监控游戏降价(支持监听多款游戏)
本帖最后由 涛之雨 于 2021-6-3 10:47 编辑首先准备好游戏的APPID(DLC的ID也可以,推荐一个网站:https://steamdb.info/)
```python
# # -*- coding: utf8 -*-
import json,requests
import requests
import smtplib
from email.header import Header
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
IDs=#这里是需要监听的游戏APPID
url='https://store.steampowered.com/api/appdetails/?appids='
def main_handler(event, context):#这个是默认入口
text_info=""
isbuy=False
for ID in IDs:
ID=str(ID)
res=requests.get(url+ID).json()
if res["success"] is True:
price=res["data"]["price_overview"]["final"]/100
rawprice=res["data"]["price_overview"]["initial"]/100
if rawprice>price:
buy="正"
isbuy=True#有一个降价了就通知
else:
buy="未"
print("["+res["data"]["name"]+"@"+ID+"]当前价格:%s,历史价格:%s;【%s】在促销"%(price,rawprice,buy))
text_info+="["+res["data"]["name"]+"@"+ID+"]当前价格:%s,历史价格:%s;【%s】在促销"%(price,rawprice,buy)+"\n\n"
else:
print("["+res["data"]["name"]+"@"+ID+"]读取失败!")
if isbuy is True:
sender_mail = '发送邮箱@qq.com' #这里填发件人邮箱,我选的QQ邮箱
sender_pass = 'rgmxxxxxxceg' #这里填QQ邮箱SMTP授权码
to='接收邮箱(可以还填自己的QQ邮箱)@52pojie.cn'
msg_root = MIMEMultipart('mixed')# 设置总的邮件体对象,对象类型为mixed
msg_root['From'] = '云函数steam价格监听'#发送人描述
msg_root['To'] = to
subject = 'steam监听价格变动!'#邮件标题
msg_root['subject'] = Header(subject, 'utf-8')
text_sub = MIMEText(text_info, 'plain', 'utf-8')
msg_root.attach(text_sub)
try:
sftp_obj =smtplib.SMTP('smtp.qq.com', 25)
sftp_obj.login(sender_mail, sender_pass)
sftp_obj.sendmail(sender_mail, to, msg_root.as_string())
sftp_obj.quit()
print('邮件推送成功!')
except Exception as e:
print('邮件推送失败!错误代码:')
print(e)
return text_info
```
再加一个半小时的触发器,美滋滋监听价格
如果想测试效果可以把
```python
if isbuy is True:
```
改成
```python
if True is True:
```
(测试完记得改回来)
测试示意图:
(又水了一贴真开心,其实我是帮朋友写的,又能白嫖朋友的游戏更开心)
涛涛NB 想把风吹灭的火 发表于 2021-6-3 15:59
不对吧,云函数没办法保存数据,每次运行都是获取到的当前价格,如何进行价格比对呢?只能引入数据库,腾讯 ...
看lz代码应该是同时爬取当前价格和历史价格,从而进行比对 这也可以,nb哈哈哈哈 消息提醒可以用qmsg,企业微信吗? 黑羽快斗 发表于 2021-6-3 12:16
消息提醒可以用qmsg,企业微信吗?
可以自己实现嘛。就是随手写完就发出来了。。。
(估计暂时应该没有促销,一个月后夏促应该会有) 隐形守护者好评。 不对吧,云函数没办法保存数据,每次运行都是获取到的当前价格,如何进行价格比对呢?只能引入数据库,腾讯云函数带数据库是收费的吧。 忠实玩粉,鉴定完毕! 楼主厉害,谢谢分享 @涛之雨 快开发一个监控 京东 显卡的,尤其是3080ti!
页:
[1]
2