組件
先介紹一下我們的主角,也就是我們依托的組件-青龍,它自身是可以支持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里面參與后,腳本才能正常執行;
- 腳本的執行日志也會有相應的提示,我們也可以根據提示信息,盡可能的保證每個活動都能參與到。
- 當然因為京東活動更新的比較頻繁,有些腳本可能會存在一些問題,我們可以一起交流討論。
另外,解鎖青龍更高級玩法,請關注微信公眾號:程序員小明!!!