是时候来薅京东的羊毛了,自动化签到脚本!

4,478 阅读5分钟

双十一刚刚过,相信很多小伙伴也都剁手了。今年电商平台同样给出了很多优惠。有些优惠,比如红包,是靠运气来获得的,但是还有一些优惠是靠长期坚持才能获得。比如:签到、东东萌宠。每天都能坚持签到固然很棒,但是如果有脚本可以自动签到,那岂不是更美?

自动签到脚本此脚本涵盖了目前京90%以上的签到任务,我们只需要简单配置,每天定时触发,就可以签到,领奖品了。而且都是免费的

运行环境
  • node.js
  • Server酱(可选)
获取京东Cookie

这里以Chrome浏览器为例,Edge360浏览器QQ浏览器同样支持。

  • 打开Chrome浏览的隐私模式,输入m.jd.com/
  • 按下键盘上的F12进入调试模式,选择手机模式。 2020_11_13_auto_sign_device 如果没有登录就使用手机验证码方式登录(已登录,可忽略),使用验证码登录获取的cookie有效时长30天左右,存活时间更长。
  • 登录成功后,点击Network 2020_11_13_auto_sign_network

然后点击箭头所指的这个按钮清理一下,因为网络请求太多了,不方便查看。 2020_11_13_auto_sign_clear 清理完了之后,点击一下我的

2020_11_13_auto_sign_gif 这个时候我们找到一个log.gif?开头的请求,点击它,就可以看到cookie字段了。 2020_11_13_auto_sign_cookie

  • 这样复制出来的cookie比较长,我们只需要pt_pin=xxxx;pt_key=xxxx;部分的内容即可(注:英文引号;是必要的)。 可以用下面的脚本,直接在console里面输入下面脚本按enter回车键。
var CV = '单引号里面放上面拿到的cookie';
var CookieValue = CV.match(/pt_pin=.+?;/) + CV.match(/pt_key=.+?;/);
copy(CookieValue);

这样子整理出关键的的cookie已经在你的剪贴板上,可直接粘贴。 我们先把它保存好,下面的步骤要用到。

配置 Server酱

Server酱是一个免费的,可以推送消息到我们微信的服务。 推送服务可以帮助我们每天观察签到的情况,如果出错了,可以及时调整。如果有的小伙伴不需要,可忽略这个步骤,直接进入下一步。

  • 打开主页 sc.ftqq.com/3.version,点击右上角登入 2020_11_13_server_jiang_main_page
  • 使用Github 授权,登录。 2020_11_13_server_jiang_login 输入账号密码即可。
  • 登录成功后点击微信推送并扫描二维码绑定微信 2020_11_13_server_jiang_wechat 使用手机打开微信,扫描屏幕上的二维码,如果未关注,先关注,然后再绑定即可。 2020_11_13_server_jiang_qrcode
  • 绑定成功后,点击右上方的发送消息链接,就可以看到你自己的 key值,保存下来,后面会用到。 2020_11_13_server_jiang_test 当然你也可以在下面的在线发送工具测试推送是否生效。
配置本地代码
  • 使用git clone命令将github.com/Johnson8888…代码下载下来。

  • 下载完成后,我们需要安装项目所需要的依赖。使用命令行工具(Mac下使用Termainal,Windows下使用PowerShell)进入到jd_sign_bot文件内。在命令行内输入 npm install --dependencies,等待运行完成。 2020_11_13_npm_install 此时,项目文件夹内会多出一个 node_modules文件夹。

  • 配置Cookies 打开文件内的JD_DailyBonus.js文件,修改Key参数为刚刚获取到的cookies 2020_11_13_input_server_jiang

  • 配置Server酱 打开文件内的app.js文件,修改serverJ参数为刚刚获取到的Server酱的key 2020_11_13_input_cookies

执行签到

进入到jd_sign_hot文件夹下,执行 node app.js即可签到! 2020_11_13_auto_sign_exec 此时我们的脚本在本地就已经部署好了,如果你想更编辑,可以把代码部署到云服务器上,这样就不需要每天点击触发了。 或者你也可以部署在自己的服务器上,每天定时执行。

你也可以 将脚本部署在腾讯云 · 云函数 上

去到腾讯云函数地址,如果没有开通此服务的顺手开一下就可以了。

  • 单击左侧导航栏函数服务,进入函数服务页面。 在页面上方选择一个地域,最好选择离你常用地区近点的,不至于导致账号异常。单击新建。如下图所示: 2020_11_13_tengxun_clound

  • 新建函数页面填写函数基础信息,单击下一步。如下图所示: 2020_11_13_tengxunyun_input

  • 函数名称:可以自定义,比如为jd_sign。 运行环境:选择 Nodejs 12.16。 创建方式:选择 空白函数。 确保环境为Nodejs 12.16,执行方法改为:index.main_handler,提交方式建议选本地文件夹。

  • 然后将刚才下载并配置好的文件夹jd_sign_bot上传上来。(记得node_modules文件夹一并上传),完了后点击下面的高级设置。 2020_11_13_tengxunyun_input_1

  • 内存用不了太大,64MB就够了(64M内存,免费时长6,400,000秒,内存与免费时长大致关系可以参看云函数官方说明),超时时间改为最大的900秒,然后点击最下面的完成。

2020_11_13_tengxunyun_input_3

  • 点击刚创建的函数

2020_11_13_tengxunyun_input_3

点击创建触发器

2020_11_13_tengxunyun_input_4

比如我填写的是 0 45 8 * * * *,每天上午8点45触发一次。 腾讯云提供了相关配置Cron的文档,也有第三方测试工具

测试一下

我们打开刚才创建的云函数,点击保存并测试,等过1分钟左右手机上收到推送,那我们的配置就是成功的。 如果没有收到推送,可以点击日志查看排查问题。 2020_11_13_tengxun_cloud_test

如果你不喜欢腾讯云的服务 我们可以参考ruicky大神的博客,将脚本部署在Github Actions上面也是也可以的。


公众号