zoukankan      html  css  js  c++  java
  • 「开源组件」青龙定时面板使用场景举例

    组件

    先介绍一下我们的主角,也就是我们依托的组件-青龙,它自身是可以支持python3、javaScript、shell、typescript 的定时任务管理面板(A timed task management panel that supports typescript, javaScript, python3, and shell.),在这里,我们就是通过它来定时执行js脚本薅羊毛的。

    青龙

    环境

    • Linux系统
    • docker
    • docker-compose

    什么?你连服务器都没有???现在阿里云、腾讯云促销活动火热,点击我的推广链接支持一下,而且购买享受优惠!两个平台都不错,大家按自己的喜好选择。

    什么?你还没有安装docker?!那你要是不想被时代的洪流淹没,就得赶紧去参考小明的这篇文章Linux如何安装docker

    步骤

    环境准备好以后,我们登入系统

    1. 养成一个好习惯,找一个目录,新建一个文件夹,用于存放相关数据
    mkdir qinglong
    cd qinglong
    
    1. 下载本仓库中的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
    
    1. 使用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里面参与后,脚本才能正常执行;
    • 脚本的执行日志也会有相应的提示,我们也可以根据提示信息,尽可能的保证每个活动都能参与到。
    • 当然因为京东活动更新的比较频繁,有些脚本可能会存在一些问题,我们可以一起交流讨论。
      另外,解锁青龙更高级玩法,请关注微信公众号:程序员小明!!!
      程序员小明
  • 相关阅读:
    UnicodeEncodeError: 'ascii' codec can't encode characters in position 32-34: ordinal not in range(128) 解决
    selenium 页面元素定位之iframe里面的元素定位(包括有无id、name的)
    Python单元测试框架
    python 学习笔记之条件循环等语句
    selenium python脚本调用java script 报Message: u'$ is not defined' ; Stacktrace 的解决历程
    selenium2 webdriver 常用的python 函数
    python学习笔记之列表、元组、字典(2)
    python学习笔记之列表、元组、字典(1)
    python 学习笔记之基础知识(2)
    python 学习笔记之基础知识(1)
  • 原文地址:https://www.cnblogs.com/coderxx/p/15636214.html
Copyright © 2011-2022 走看看