【我在黑盒學py】CSGO飾品價格監控工具


3樓貓 發佈時間:2022-03-22 16:50:00 作者:王守義拾叄香 Language

0x00 前因

由於最近的股市起伏比較大(虧得比較多),發現某平臺可以出租CSGO的皮膚後就把買的雞精都賣出買了皮膚掛著租,雖然租金不算很高,但是再怎麼也比雞精穩定(白酒狗都不買)。

【我在黑盒學py】CSGO飾品價格監控工具-第0張

【我在黑盒學py】CSGO飾品價格監控工具-第1張

蚊子腿也是肉

由於資金有限,大多數皮膚都收的是酒精的,但是又想收低磨的,直接掛求購指不定給丟一個底磨的不太好,之前一直是沒事就刷一刷市場看看有沒有合適的可以收。今天閒著就尋思寫一個監控腳本丟雲函數定時運行,就不用一直盯著市場了。我設置好需要的磨損區間和心理價位,工具每半小時進行一次掃描,如果有符合條件的飾品就推送信息到微信,然後就可以直接去買。


0x01 原理簡介

根據以往經歷,這玩意兒不能寫太細,不然發不出來。大家有興趣可以移步52Pojie,我會在上面發佈詳細說明版,下面僅從思路上簡單介紹一下。

我使用的租皮膚的平臺和本工具監控的飾品市場不是同一個APP,大家可以自行想象,這裡不便明說。

我們在電腦上打開這個飾品平臺,隨便打開一個飾品的購買頁面,先單獨請求一下這個購買頁面,發現並沒有我們想要的飾品數據,可以認為數據在數據包中發送到瀏覽器。

【我在黑盒學py】CSGO飾品價格監控工具-第2張

小龍狙~

那麼就進行一個抓包,按F12打開控制檯,點擊網絡的選項,勾選“Fetch/XHR”,進行分析。

【我在黑盒學py】CSGO飾品價格監控工具-第3張

找到這個sell開頭的包

發現返回的數據有很多,高度懷疑這個包是我們想要的。

點開data前面的小按鈕,發現出現了很多數據,這就是我們想要的數據,接下來對這些數據進行仔細分析。

【我在黑盒學py】CSGO飾品價格監控工具-第4張

找到你了

首先看看這個包的請求鏈接長啥樣(已刪除鏈接前的域名,僅分析鏈接的構成參數)

api/market/goods/sell_order?game=csgo&goods_id=871801&page_num=1&sort_by=default&mode=&allow_tradable_cooldown=1&_=1647677447842

從這個鏈接裡面我們可以發現有很多的參數,先由小學英語學到的單詞進行閱讀並刪除一些空參數,得到這樣一條簡化鏈接,篇幅限制我刪掉了用於排序的參數,僅保留兩項最基本的參數

api/market/goods/sell_order?game=csgo&goods_id=good_id&page_num=1&_=time

可見一個是good_id和一個time,也就是時間戳。簡單觀察一下不難發現相關飾品的頁面鏈接就有這個good_id,並且我們切換不同的磨損(指從嶄新出廠到酒精的這種變化,不是同階的磨損變化)這個good_id也會跟著發生變化,所以我們監控飾品就可以通過輸入這個goodid找到想要的商品,第二個參數time也比較好理解,就是當前時間的時間戳,這個可以直接生成。

首先看goods_info,不難發現這裡面主要是當前請求的飾品的一些參數,但不是我們想要的,再看看別的數據

【我在黑盒學py】CSGO飾品價格監控工具-第5張

碼掉的是對應的logo鏈接

打開items,發現是一個列表,高度懷疑這就是在售飾品的數據,點開第一個,果然是,利用小學英語學到的知識簡單的讀一下

【我在黑盒學py】CSGO飾品價格監控工具-第6張

碼掉了商家的uid

可以發現在這裡面有當前飾品的標價,並且這個表格裡面返回的飾品是按照價格低到高排序的,那麼當前這個價格就是該飾品在售列表裡最低價,如果在前面的請求鏈接中設置了磨損區間等也同理。

目前為止我們就已經找到了最低售價的商品了,但是我想更進一步,直接在推送中附上該底價商品的購買頁面,由於PC端沒有單獨的購買頁面,所以在手機應用中找到一個該類型的商品,點擊分享,並複製他的鏈接,然後我們就得到了以下鏈接

market/m/item_detail?classid=4578724378&instanceid=519977179&game=csgo&assetid=24916944078

這裡我們發現需要的參數有點多,但是不要慌,肯定都是能夠找得到的;繼續看數據,在asset_info中找到了構造上面商品鏈接所需要的參數

【我在黑盒學py】CSGO飾品價格監控工具-第7張

有手就行

自此我們就已經完成了對該飾品網站的分析,接下來進行程序的編寫。篇幅有限這裡我就不貼完整代碼了,簡單講解一下思路,有興趣的同學可以下載源碼自己看,一共也就不到八十行。

首先是數據儲存,我這裡用了一個在線數據庫Bmob,這玩意兒我高三就在用了,給一些小玩具放一下需要聯網的數據還是挺方便的,也不擔心他跑路。

在裡面新建一個表,並設置好這些列“good_id”,“name”,“except_price”,“lowest_price”

【我在黑盒學py】CSGO飾品價格監控工具-第8張

務必按照上面的列名進行設置,否則將無法運行

通過Bmob官方提供的包可以很方便的對Bmob在線數據庫進行操作,每次運行獲取good_id和except_price,接著利用requests模塊對構造好的飾品鏈接發起請求並解析返回的數據,利用json模塊對數據進行格式化處理,通過獲取到的最低價與數據庫中設置的except_price進行比較,如果低於期望價格,則推送微信消息進行提示,如下圖

【我在黑盒學py】CSGO飾品價格監控工具-第9張

蕪湖~

以上就是整個監控工具的思路,具體代碼可以下載文末附件


0x02 雲函數部署

①Bmob

首先去註冊一個Bmob的賬號,百度搜索“Bmob”即可,註冊完成之後好像要給一塊錢實明認證一下,接著進入控制檯新建一個數據庫,選擇第一個免費的開發版即可。

【我在黑盒學py】CSGO飾品價格監控工具-第10張

記得選應用類型,否則沒法創建

新建好數據庫後默認只有一個“_User”表,點擊“添加表”按鈕,新建一個表,就叫他“Buff

吧,意為賺錢buff;注意大小寫,也可以改為自己喜歡的名字,但需在代碼中對應的位置進行修改。

【我在黑盒學py】CSGO飾品價格監控工具-第11張


【我在黑盒學py】CSGO飾品價格監控工具-第12張

新建好一個表後,我們給他添加對應的列,點擊添加列,進行新增。

務必按照“good_id”,“name”,“except_price”,“lowest_price”的名字進行命名,順序無所謂,可以左右拖拽調整,列類型都用默認的String型即可

【我在黑盒學py】CSGO飾品價格監控工具-第13張

設置好後,點擊左側工具欄最低側的設置按鈕,點擊“應用秘鑰”,複製Application ID和REST API Key,後面有用

【我在黑盒學py】CSGO飾品價格監控工具-第14張

②微信推送

我用的是Server醬,有能力的同學可以自行接入其他的推送方法。百度搜索“Server醬”即可

Server醬是一個免費的微信信息推送工具,網站裡面也有很詳細的使用方法,本文不再贅述。註冊並設置好Server醬後,點擊上方工具欄的SendKey,複製自己的SendKey,後續有用。

【我在黑盒學py】CSGO飾品價格監控工具-第15張

複製你的SendKey

③雲函數

我使用的是疼訊雲函數,其他的雲服務商也有功能相近的服務,本工具僅保證可以在疼訊雲正常使用,其他的雲平臺沒有進行測試。

首先百度“騰訊雲”,進入官網後註冊一個賬號,完成實明認證,接著進入控制檯,點擊左上角的雲產品按鈕,找到雲函數(大概在左側靠近中間的位置),點擊進入

【我在黑盒學py】CSGO飾品價格監控工具-第16張

雲函數

進入頁面點擊新建按鈕,選擇“從頭開始”,設置Python版本為3.6

【我在黑盒學py】CSGO飾品價格監控工具-第17張

請選擇Python3.6

往下滑動,點擊文件夾上傳,將文末的代碼下載解壓後,選擇解壓出來的文件夾,進行上傳;將執行方法修改為如圖所示,注意大小寫

Main.main

【我在黑盒學py】CSGO飾品價格監控工具-第18張

點擊完成等待部署,點擊函數管理,進入函數代碼頁面,在右側代碼編輯區域中設置Server醬和Bmob的key

【我在黑盒學py】CSGO飾品價格監控工具-第19張

將SendKey替換為你的SendKey即可,Bmob的兩條Key記得

加上引號,形如

Bmob('efg123','abc456')

填寫好參數後,設置完成之後點擊代碼編輯區域右上角的部署按鈕,接著點擊左側的觸發管理,新建一個觸發器

【我在黑盒學py】CSGO飾品價格監控工具-第20張

【我在黑盒學py】CSGO飾品價格監控工具-第21張

觸發方式選擇定時觸發,觸發週期推薦設置為每半小時,過快的請求會導致飾品市場BanIP。

要驗證是否設置好參數,可以先在Bmob的數據庫中添加一個飾品,except_price設置高於市場均價,確保有比他低價的視頻,進入雲函數,點擊代碼編輯區域右上角的測試按鈕,如果手機能夠正常收到推送則說明工具已經成功配置好。


0x03 小結

本工具僅作市場價格監控及推送作用,並未要求用戶登錄齊飾品交易網站賬號,也沒用收集任何敏感信息,代碼完全開源,僅做學習交流使用,請在下載後24小時內刪除,謝謝!

下載鏈接:mrdeng.lanzouj.康姆/iSznF01p6cdi

#神來之作第十期#

如果覺得本文對你有幫助的話,請來一個三連叭~

【我在黑盒學py】CSGO飾品價格監控工具-第22張


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com