元件
先介紹一下我們的主角,也就是我們依託的元件-青龍,它自身是可以支援python3、javaScript、shell、typescript 的定時任務管理皮膚(A timed task management panel that supports typescript, javaScript, python3, and shell.),在這裡,我們就是通過它來定時執行js指令碼薅羊毛的。
環境
- Linux系統
- docker
- docker-compose
什麼?你連伺服器都沒有???現在阿里雲、騰訊雲促銷活動火熱,點選我的推廣連結支援一下,而且購買享受優惠!兩個平臺都不錯,大家按自己的喜好選擇。
什麼?你還沒有安裝docker?!那你要是不想被時代的洪流淹沒,就得趕緊去參考小明的這篇文章Linux如何安裝docker
步驟
環境準備好以後,我們登入系統
- 養成一個好習慣,找一個目錄,新建一個資料夾,用於存放相關資料
mkdir qinglong
cd qinglong
- 下載本倉庫中的
docker-compose.yml
至本地
# 下載docker-compose.yml檔案
wget https://raw.githubusercontent.com/whyour/qinglong/develop/docker-compose.yml
或者自行建立一個docker-compose.yml檔案,手動複製下面內容到這個檔案中。
version: '2'
services:
web:
image: whyour/qinglong:latest
volumes:
- ./data/config:/ql/config
- ./data/log:/ql/log
- ./data/db:/ql/db
- ./data/scripts:/ql/scripts
- ./data/repo:/ql/repo
- ./data/raw:/ql/raw
ports:
- "0.0.0.0:5700:5700"
restart: unless-stopped
- 使用docker-compose啟動
在這個目錄下執行下面命令即可啟動
docker-compose up -d
就是這麼簡單。
4. 瀏覽器輸入ip:5700即可進入皮膚
如果是第一次進入,需要根據提示進行賬號密碼相關設定,然後就可以正常登入系統,介面如下所示:
新增定時任務
環境搭建好後,接下來就需要增加定時任務,在這裡,我們直接通過拉取倉庫的形式,批量增加定時任務
命令如下:
ql repo https://ghproxy.com/https://github.com/shufflewzc/faker2.git "jd_|jx_|gua_|jddj_|getJDCookie" "activity|backUp" "^jd[^_]|USER|ZooFaker_Necklace.js|JDJRValidator_Pure|sign_graphics_validate"
定時規則:
1 0 * * *
表示每天凌晨0點1分拉取最新的任務(因為京東任務會不定期的更新,因此指令碼也需要定期做出策略調整)。
第一次,需要手動執行拉取。
執行後,我們重新整理頁面,可以看到許多定時任務都已經新增到任務列表,大概有115個左右,在這裡小明不得不讚嘆一下京東活動之多,編寫指令碼的作者用心之良苦,respect!
設定賬號資訊
一切就緒後,接下來就是最重要的環節:配置我們的京東賬號資訊。
- 開啟你的瀏覽器(推薦chrome,不接受反駁)
- 輸入https://jd.com
- 按以下步驟切換為手機檢視
我們可以選擇iPhoneX檢視,重新整理頁面後發現位址列變為手機版的京東首頁地址https://m.jd.com/
正常按照手機號+驗證碼登入
登入過後,這個時候就需要從cookie中檢視pt_
開頭的兩個關鍵配置:pt_token
,pt_pin
把對應的value拷貝出來,整理格式如下
pt_token=xxxx;pt_pin=xxxx;
接下來回到青龍皮膚,新建環境變數,名稱為JD_COOKIE
,值為上面整理的文字。
儲存過後,我們就可以從指令碼列表中,手動執行任意一個任務指令碼來驗證一下。
最後
有一些需要大家注意的事項
- 有些活動如果之前沒有參與,是需要自己手動去app裡面參與後,指令碼才能正常執行;
- 指令碼的執行日誌也會有相應的提示,我們也可以根據提示資訊,儘可能的保證每個活動都能參與到。
- 當然因為京東活動更新的比較頻繁,有些指令碼可能會存在一些問題,我們可以一起交流討論。
另外,解鎖青龍更高階玩法,請關注微信公眾號:程式設計師小明!!!