组件
先介绍一下我们的主角,也就是我们依托的组件-青龙,它自身是可以支持python3、javaScript、shell、typescript 的定时任务管理面板(A timed task management panel that supports typescript, javaScript, python3, and shell.),在这里,我们就是通过它来定时执行js脚本薅羊毛的。
环境
- Linux系统
- docker
- docker-compose
什么?你连服务器都没有???现在阿里云、腾讯云促销活动火热,点击我的推广链接支持一下,而且购买享受优惠!两个平台都不错,大家按自己的喜好选择。
- 【阿里云】爆款产品低至1元,1核2G ECS n4 87.12元/年
- 【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年74元
什么?你还没有安装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里面参与后,脚本才能正常执行;
- 脚本的执行日志也会有相应的提示,我们也可以根据提示信息,尽可能的保证每个活动都能参与到。
- 当然因为京东活动更新的比较频繁,有些脚本可能会存在一些问题,我们可以一起交流讨论。
另外,解锁青龙更高级玩法,请关注微信公众号:程序员小明!!!