适合超新手食用~
用的是意外捡到的良心云125机器(其实是忘记退款了emmmm…)
没有服务器的也可以去看看,现在活动价也还不错:
去良心云捡个鸡儿
1.去服务器开放端口 5700 –嫌麻烦的(像我)直接选择全部打开
服务器-防火墙-管理规则-添加规则
端口5700
以上操作二选一即可
2.连接服务器
ssh连接服务器,用啥都行。我用的FinalShell
3.安装docker
这个网上看到的安装方法很多,但是有两种我都出现各种问题,第三种顺利成功了
3.1.用有sudo权限的账号登陆
3.2.更新yum
sudo yum update
3.3.安装一些所需的包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.4.添加docker源,并更新yum缓存
sudo yum-config-manager –add-repo
更新yum
sudo yum makecache fast
3.5.安装Docker
sudo yum -y install docker-ce
3.6.启动docker服务
sudo systemctl start docker
3.7.设置开机自动启动
sudo systemctl enable docker
3.8.确认一下是否安装成功
sudo docker run hello-world
4.拉取镜像
docker pull whyour/qinglong:latest
5.部署镜像
docker run -dit \
-v $PWD/ql/config:/ql/config \
-v $PWD/ql/log:/ql/log \
-v $PWD/ql/db:/ql/db \
-p 5700:5700 \
–name qinglong \
–hostname qinglong \
–restart always \
whyour/qinglong:latest
ps:这里的“qinglong”就是自己的库名,如果自己设置了其他名字,后面装依赖的时候要替换
6.安装依赖
6.1.安装canvas依赖
docker exec -it qinglong bash -c “apk add –no-cache build-base g++ cairo-dev pango-dev giflib-dev && cd scripts && npm install canvas –build-from-source“
漫长等待
6.2.安装png-js依赖
docker exec -it qinglong bash -c “cd scripts && npm i -S png-js“
*.登陆青龙
面板地址:http://服务器IP:5700
里面的配置自己看着整,好像对后面没啥影响
7.开始拉大佬们的库
定时那里 注意要有空格,得在英文输入的情况下才可以
这里大佬说直接 “0 0 * * *”就可以了,定时是Cron表达式,在最后有含义说明
任务添加完了之后,可以自己手动运行一次,然后刷新,就能看到出来很多脚本了
Faker
ql repo
curtinlv仓库
ql repo
温某某
ql repo
柠檬(胖虎)
ql repo
以上的库我只用了Faker一个的,应该够用了吧,如果都拉了的话,要在搜索里面搜索“重复”,然后运行一下那个“禁用重复任务”
8.获取自己的cookie
不建议用那些软件啥的直接整,动动手也不费事~
打开浏览器(我用的是谷歌浏览器和小白浏览器,其他的没试)
F12
换成手机模式
在地址栏输入 jd.com 回车
点右上角登陆
登陆方式任选,自由发挥
登录完后 按按钮清除记录,在地址栏输入“
找到第一个封包“home.m.jd.com“,点击选中
我们要用的是里面的一部分
从“pt_key=“ 这个开始,不清楚到底要多少,所以我直接复制到了“pwdt_id=***********;”反正也能用…
9.设置青龙变量
环境变量-添加变量
点开之后
在名称里输入“JD_COOKIE”
值里面输入前面拿到的ck
备注自由发挥
确定
10.如果还有其他的故障,就把这个也整上
链接:https://pan.baidu.com/s/1MHxcBpy2FU6G55l2_Vg6dg
提取码:a448
运行之后,依赖问题就没得问题了~
附录:
Cron每个域(时间)的相关定义,用表格梳理比较明了
域 值以及范围 通配符
秒(必填) 0-59 – * /
分(必填) 0-59 – * /
时(必填) 0-23 – * /
日(必填) 1-31 – * ? / L W
月(必填) 1-12 或 JAN-DEC – * /
周(必填) 1-7 或 SUN-SAT – * ? / L #
年(非必填) 1970-2099 – * /
通配符的含义:
,:表示在两个及以上的时间点中都执行。如在月中的值为1,3,则表示1月和3月都触发事件
*:表示匹配该域任意值,可解读为 “每”,如小时的字段为*时,表示每一小时都触发事件
?:表示不指定值,用于日期和星期字段之间进行互斥。通常在日期和星期字段中的一个指定值,另外一个用?表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的6号触发一个操作,但不关心是周几,我们可以这么设置 0 0 0 6 * ?
-:表示范围,一个连续触发的区间。如:时的值为6-8,则表示6-8小时中的每个小时都触发事件。
/:表示间隔时间触发事件(开始时间/时间间隔)。其中第一部分是起始值,除了秒以外都会降低一个单位,比如在 “秒” 上定义 5/10 表示从 第 5 秒开始 每 10 秒执行一次,而在 “分” 上则表示从 第 5 秒开始 每 10 分钟执行一次。
#:表示该月第n个星期x(x#n),仅用星期域。如:星期:6#3,表示该月的第三个星期五。
L:表示LAST 最后(最后一天或最后一个星期几);仅出现在日和星期的域中。用在日则表示该月的最后一天,用在星期则表示该月的最后一个星期X。如:星期域上的值为5L,则表示该月最后一个星期的星期四。在使用‘L‘时,不要指定列表‘,‘或范围‘-‘,否则易导致出现意料之外的结果。
W:仅用在日的域中,表示距离当月给定日期最近的工作日(周一到周五)。 如:“4W“表示距离4号最近的工作日(当月的)触发事件; (1)当4号就是工作日时,则表示当天触发;当4号为周六时,则表示3号(周五)触发; (2)当4号为周日时,则表示在5号(周一)触发; 再如:“1W“表示距离1号最近的工作日触发事件,但是,该工作日只算当月的。假如当月1号是周六,则”1W“表示在当月3号(周一)触发事件。就算上个月的最后一天是工作日,也不会触发事件。
LW:‘L’和‘W‘可以一起组合在日字段使用。表示当月的最后一个工作日触发事件。
举个例子(要足够多)
*/5 * * * * ? 每隔 5 秒执行一次
0 */1 * * * ? 每隔 1 分钟执行一次
0 0 2 1 * ? * 每月 1 日的凌晨 2 点执行一次
参考资料来源:
以上~如有问题欢迎询问,批评,指正~
666