TheLord 发表于 2022-4-23 22:59

基于Flask+Layui的CSGO饰品价格监控工具

# 0x00 前言
之前其实还有个1.0版本,那个主要是在腾讯云函数上头部署,但是缺点是不能监控B平台的数据(好像是因为用tx云挂脚本刷网抑云的人太多了,黄易那边就都把tx云函数的IP给ban了)。这个版本算是2.0版本,主要是换了一个云函数平台,找到一个锅外的云函数平台Deta,能够正常获取B平台的数据,而且无需魔法工具即可访问,同时可以一键部署代码,非常方便,适合不了解但是又有需求的hxd使用。下图为使用效果图:
!(https://s2.loli.net/2022/04/23/udQroVjalqXNFz1.gif)
> 由于C平台无法获取分享链接,只能分享二维码图片,所以本工具仅支持B平台,I平台以及U平台。

注:一键部署指,拥有Deta账号并下载好源码后,可以通过命令行一键部署代码。本文中一切链接中的丶替换为.即可访问。

----

# 0x01 安装

需要设备:电脑,能够正常访问Github的网络(不行可以找网上的加速源),一个常用邮箱。

## 0x01_1 注册Deta和Server酱

> Deta平台是一个免费的代码托管平台,DetaMicros可以运行基于Python:FastAPI、Flask和Starlette,Node.js:Express.js、Koa.js以及Fastify.js的API框架构建的程序。此外还提供了DetaBase在线数据库,以及DetaDrive在线储存,用户可将代码提交至Deta进行运行。

访问Deta官网,进行注册:(https://web.deta.sh)
!(https://s2.loli.net/2022/04/23/H5MnYZ8dgfuNVbE.png)

注册后将发送确认邮件到邮箱,点击确认后将跳转至管理页面
!(https://s2.loli.net/2022/04/23/hlwpNQxEKYVyRCD.png)

这里会有一个提示:系统为你创建了一个新的项目"default"。点击下面的See My Key,复制里面的Project Key,建议将这个Key收藏到QQ或者新建一个记事本存起来,之后这个Key无法以任何形式获取将作为链接项目的重要凭证①。
!(https://s2.loli.net/2022/04/23/WvdQA8YtpmOwgG1.png)

!(https://s2.loli.net/2022/04/23/2fe71sFMYtPKTyN.png)

接着点击右侧栏目中的Windows按钮,复制下面的命令(MacOS可选择第一个MAC的选项),同时按下Windows键和R键,在出现的搜索框中输入PowerShell,敲回车,将出现下图所示的蓝色命令行窗口。
!(https://s2.loli.net/2022/04/23/EdpxsZu2UlLvrkf.png)

将网页中复制的命令粘贴进这个蓝色的命令行窗口,复制好命令直接在蓝色窗口中右键一下就能粘贴进去,敲回车。
!(https://s2.loli.net/2022/04/23/QZotbIxiRlvpYu2.png)

将会下载600Mb左右的数据,速度取决于网络状况,如果敲回车后没有反应请耐心等待。
!(https://s2.loli.net/2022/04/23/k9hm2G6voZltLKj.png)

在下载好后输入命令:deta login,注意这两个单词中间有一个空格。敲回车后会自动打开浏览器。
!(https://s2.loli.net/2022/04/23/9DfNMTqUzG4mcOd.png)

出现下方页面等待几秒,跳转到控制台,切回命令行窗口发现提示Logged in successfully.就说明已经成功登录了。
!(https://s2.loli.net/2022/04/23/rBjCzPWy7vLYaJU.png)

!(https://s2.loli.net/2022/04/23/NJrhPvl5LaS8kHO.png)

以上,你已经完成了Deta平台的注册以及环境配置。

注①:如果不小心在这一步忘了保存Key也不要紧,可以点击左侧Settings,再点击右侧的Create Key新建一个Key即可。
!(https://s2.loli.net/2022/04/23/TH8BGgxvOcNR4yd.png)

新建Key后记得保存Key,后面将会用到这个Key。

Server酱的注册请查看Server酱的官方文档:(https://sct.ftqq.com)

----

## 0x01_2 下载代码并上传

源码蓝奏云分享:mrdeng.lanzouj.com/isg8803n9cpi

本程序源码开源在GitHub上:github.com/Lord2333/csgo_hunter

建议通过GitHub下载源码,本文提供的蓝奏云分享的代码无法实时更新。将下载好的代码解压,单击资源管理器上方的地址栏,输入cmd敲回车,打开命令行。
!(https://s2.loli.net/2022/04/23/pn63udzqWvrYyb8.png)

出现了命令行窗口后输入命令`deta new --python name`敲回车,等命令行没有再刷提示之后把全部代码剪切粘贴到这个新生成的文件夹里面,这里的name可以自己随便取一个名字也可以就叫name。

右键function.py这个文件,打开方式选择文本文档(如果有其他的编辑器更好),找到这两行
!(https://s2.loli.net/2022/04/23/ioEpbzj142mraLS.png)

填写第一步的两个Key,并保存。注意:将Key填写到引号内,引号是英文状态下的引号,删除引号或者更改引号都将使程序产生问题。

接着打开命令行窗口,①输入命令deta deploy敲回车,等待片刻将会出现一大堆文字,最后一行显示Deploy success!的提示;

②接着再输入deta cron set "30 minutes"敲回车。这里的30 minutes代表着每30分钟程序运行一次检测饰品价格变化,最小可支持2 minutes的间隔,但是不推荐这样做,容易被B平台BanIP;可以在第一次部署时设置为两分钟的间隔,并自己在B平台上架一个皮肤,设置较高的价格,在系统中添加皮肤,然后将皮肤价格调低,等几分钟查看微信是否成功接收到微信推送,如果可以则将延迟设置得长一点,便可正常使用,如果未能收到微信推送则先检查上方的两个key是否添加正确,尝试着访问一下网页是否正常,重复操作①并截图命令行中的文字信息发到评论区或者私信我,我将第一时间回复。
!(https://s2.loli.net/2022/04/23/zrGe2nRVQAEapkj.png)

③输入命令deta details,敲回车将出现项目详情,可以查看定时设置是否正确,并可复制网址进入网页。
!(https://s2.loli.net/2022/04/23/7n3MsSzagjf6Th9.png)

一切就绪后复制网址到浏览器打开应该是这样的
!(https://s2.loli.net/2022/04/23/JAGNRcmyPpaHnL1.png)

----

## 0x01_3 使用

使用方法我也写在了网页上面,具体方法就是进入平台APP,找到要监控的皮肤,点进去详情页,选择分享,复制他的分享链接并粘贴到浏览器的文本框里即可,对于B平台的分享链接记得删除链接前的中文和空格,那个空格不删除也会出现问题。
!(https://s2.loli.net/2022/04/23/7tNVcYC5HSwDdaF.png)

!(https://s2.loli.net/2022/04/23/AGSxBriNquzjXFe.png)

除了上面的第一种提示以外,还有可能显示500 internal server error,这个有可能是因为没有删除中文导致的,如果删除中文仍然这样,则为程序本身的bug。如果遇到这种问题请简述触发的过程,并附带截图和输入的链接发到评论区或者到GitHub提交issue,我将尽快修复。

点击主页下方的按钮可以进入监控饰品列表,目前仅支持查看监控的饰品,不能在网页端修改
!(https://s2.loli.net/2022/04/23/ZW8zcjbNToswqhH.png)

如需删除监控的皮肤需要进入deta的后台,点击左侧边栏的Deta Bese,选择Skin_DB,找到要删除的皮肤,选中并点击上方工具栏的删除按钮即可。
!(https://s2.loli.net/2022/04/23/ycoZ214bQv5NCxf.png)

如果有皮肤发生价格变化将收到提示,wx提示的触发机制为:首次价格变化时发出推送,以后每次运行都会将获取到的价格与第一次发生变化后的价格进行比较,如原价688,价格变化后为888,如果后续检测到的价格一直是888则不再进行通知,若检测到价格不等于888则储存本次检测价格并发出通知。
!(https://s2.loli.net/2022/04/23/XxKylDnrW37QHSG.jpg)

----

## 0x01_4 更新

目前的程序只能实现价格监控,不能分析饰品是否在销售或是否已经出售/下架,网页修改监控列表的功能也正在着手编写中,所以将会存在更新程序的问题。

更新的方法很简单,将新版本的程序下载好,解压并覆盖到老版本的文件夹当中,确保文件夹中有.deta文件夹,然后在资源管理器的地址栏中输入cmd,打开命令行后输入deta deploy即可(操作同安装步骤①)
!(https://s2.loli.net/2022/04/23/7vDz5UOPpcCBVrn.png)

部署后刷新网页即可正常使用。

----

# 0x02 画饼

**开发计划:**
- 通过分享链接添加皮肤
-[ ] 在网页端实现删除饰品
-[ ] 重复添加皮肤提示
-[ ] 饰品状态提醒
-[ ] 更加细致的饰品价格趋势提醒

写这个项目的初衷其实就是前几天我看上个传家宝红线AK,下手晚了点,没了,难受了好几天。再加上室友上头买了万八块钱的皮肤,想看看涨跌,老版本的程序bug多,且不能监控b平台的价格,于是就有了这个网页版的程序。
!(https://s2.loli.net/2022/04/23/x9T4ftYqyjdBbIe.jpg)

这也是我写的第一个基于Flask的小项目,花的时间也不多,从昨天(4.21)下午开始写,中途出去和女朋友吃了个烤肉,写到晚上十一点多,然后今天从早上写到差不多下午四点,基本功能都实现了。比较粗糙,网页也比较简陋,大佬们轻点骂。

----

# 0x03 Q&A

Q:后续功能更新有具体时间么?A:这个应该就是最近就可以搞出来。

Q:为什么不能弄一个大家都能用的网站呢?还得自己搭建这么麻烦。A:这个主要是考虑到怕被B平台BanIP,迫不得已的办法。

KatharsisKing 发表于 2022-4-24 02:11

oxding 发表于 2022-4-24 09:41

希望出一个网页版的

TheLord 发表于 2022-4-24 09:51

oxding 发表于 2022-4-24 09:41
希望出一个网页版的

这已经是网页版了呀😂照着流程下载源码部署就OK了

oxding 发表于 2022-4-24 10:53

TheLord 发表于 2022-4-24 09:51
这已经是网页版了呀😂照着流程下载源码部署就OK了

希望你出一个网址 我直接访问就可以了 hhhhh

TheLord 发表于 2022-4-24 14:21

oxding 发表于 2022-4-24 10:53
希望你出一个网址 我直接访问就可以了 hhhhh

这,属实不行,单机器容易被banip{:1_937:}
页: [1]
查看完整版本: 基于Flask+Layui的CSGO饰品价格监控工具