是時候來薅京東的羊毛了,自動化簽到腳本!

做者 | 弗拉德
來源 | 弗拉德(公衆號:fulade_me)node

雙十一剛剛過,相信不少小夥伴也都剁手了。今年電商平臺一樣給出了不少優惠。有些優惠,好比紅包,是靠運氣來得到的,可是還有一些優惠是靠長期堅持才能得到。好比:簽到、東東萌寵。天天都能堅持簽到當然很棒,可是若是有腳本能夠自動簽到,那豈不是更美?

自動簽到腳本此腳本涵蓋了目前京90%以上的簽到任務,咱們只須要簡單配置,天天定時觸發,就能夠簽到,領獎品了。並且都是免費的git

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

這裏以Chrome瀏覽器爲例,Edge360瀏覽器QQ瀏覽器一樣支持。github

  • 打開Chrome瀏覽的隱私模式,輸入https://m.jd.com/
  • 按下鍵盤上的F12進入調試模式,選擇手機模式。

2020_11_13_auto_sign_device
若是沒有登陸就使用手機驗證碼方式登陸(已登陸,可忽略),使用驗證碼登陸獲取的cookie有效時長30天左右,存活時間更長。npm

  • 登陸成功後,點擊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已經在你的剪貼板上,可直接粘貼。
咱們先把它保存好,下面的步驟要用到。cookie

配置 Server醬

Server醬是一個免費的,能夠推送消息到咱們微信的服務。
推送服務能夠幫助咱們天天觀察簽到的狀況,若是出錯了,能夠及時調整。若是有的小夥伴不須要,可忽略這個步驟,直接進入下一步。網絡

2020_11_13_server_jiang_main_page

  • 使用Github 受權,登陸。

2020_11_13_server_jiang_login
輸入帳號密碼便可。app

  • 登陸成功後點擊微信推送並掃描二維碼綁定微信

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上面也是也能夠的。


公衆號

相關文章
相關標籤/搜索