是時候來薅京東的羊毛了,自動化簽到腳本!【多圖預警!!】


作者 | 弗拉德
來源 | 弗拉德(公眾號:fulade_me)
文章首發地址

雙十一剛剛過,相信很多小伙伴也都剁手了。今年電商平台同樣給出了很多優惠。有些優惠,比如紅包,是靠運氣來獲得的,但是還有一些優惠是靠長期堅持才能獲得。比如:簽到、東東萌寵。每天都能堅持簽到固然很棒,但是如果有腳本可以自動簽到,那豈不是更美?

自動簽到腳本此腳本涵蓋了目前京90%以上的簽到任務,我們只需要簡單配置,每天定時觸發,就可以簽到,領獎品了。而且都是免費的

運行環境
  • node.js
  • Server醬(可選)
獲取京東Cookie

這里以Chrome瀏覽器為例,Edge360瀏覽器QQ瀏覽器同樣支持。

  • 打開Chrome瀏覽的隱私模式,輸入https://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醬是一個免費的,可以推送消息到我們微信的服務。
推送服務可以幫助我們每天觀察簽到的情況,如果出錯了,可以及時調整。如果有的小伙伴不需要,可忽略這個步驟,直接進入下一步。

  • 打開主頁 http://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命令將https://github.com/Johnson8888/jd_sign_bot代碼下載下來。

  • 下載完成后,我們需要安裝項目所需要的依賴。使用命令行工具(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上面也是也可以的。


公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM