[奶奶看了都會]教你用腳本薅京東簽到羊毛


又到了周末的時間,每次周末都得整點花里胡哨的東西玩,今天就來說說怎么用Python腳本自動完成京東簽到領京豆

京豆在京東上面可以抵扣運費、充話費等等。京豆獲取方式有每日簽到、做任務

自動簽到腳本

這里用Python寫自動化腳本,去做每日簽到

腳本邏輯很簡單:用post請求去調用京東的簽到接口即可

1.登錄京東,獲取cookie

網頁上打開:https://www.jd.com/ 再按F12打開控制台,再點擊切換模式,切換到手機模式,刷新一下頁面。如圖所示

登錄自己的京東賬號。
控制台切換至 ”Application“ ,找到Cookies選項,從 Cookie 中找到 pt_pinpt_key ,點擊的時候把對應的Value那一欄的值復制出來保存備用,如圖的位置(直接關閉瀏覽器,不要退出登錄,否則Cookie會失效)

2.寫Python腳本

Python發送POST請求京東的簽到接口,請求時Cookie里帶上上一步的pt_pin和pt_key的值即可,完整代碼如下,注意需要替換自己的pt_pinpt_key

import requests#導入request模塊

url = "https://api.m.jd.com/client.action?functionId=signBeanAct&body=%7B%22fp%22%3A%22-1%22%2C%22shshshfp%22%3A%22-1%22%2C%22shshshfpa%22%3A%22-1%22%2C%22referUrl%22%3A%22-1%22%2C%22userAgent%22%3A%22-1%22%2C%22jda%22%3A%22-1%22%2C%22rnVersion%22%3A%223.9%22%7D&appid=ld&client=apple&clientVersion=10.0.4&networkType=wifi&osVersion=14.8.1&uuid=3acd1f6361f86fc0a1bc23971b2e7bbe6197afb6&openudid=3acd1f6361f86fc0a1bc23971b2e7bbe6197afb6&jsonp=jsonp_1645885800574_58482";
headers  = {"Connection":'keep-alive',
            "Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",
            "Cache-Control": 'no-cache',
            "User-Agent": "okhttp/3.12.1;jdmall;android;version/10.3.4;build/92451;",
            "accept": "*/*",
            "connection": "Keep-Alive",
            "Accept-Encoding": "gzip,deflate",
            "Cookie": "__jd_ref_cls=JingDou_SceneHome_NewGuidExpo; mba_muid=1645885780097318205272.81.1645885790055; mba_sid=81.5; __jda=122270672.1645885780097318205272.1645885780.1645885780.1645885780.1; __jdb=122270672.1.1645885780097318205272|1.1645885780; __jdc=122270672; __jdv=122270672%7Ckong%7Ct_1000170135%7Ctuiguang%7Cnotset%7C1644027879157; pre_seq=0; pre_session=3acd1f6361f86fc0a1bc23971b2e7bbe6197afb6|143; unpl=JF8EAKZnNSttWRkDURtVThUWHAgEWw1dH0dXOjMMAFVcTQQAEwZORxR7XlVdXhRKFx9sZhRUX1NIVw4YBCsiEEpcV1ZVC0kVAV9XNVddaEpkBRwAExEZQ1lWW1kMTBcEaWcAUVpeS1c1KwUbGyB7bVFeXAlOFQJobwxkXGhJVQQZBR0UFU1bZBUzCQYXBG1vBl1VXElRAR8FGxUWS1hRWVsISCcBb2cHUm1b%7CV2_ZzNtbRYAFxd9DUNcKRxYB2ILGloRUUYcIVpAAHsbWQZjVBEJclRCFnUUR11nGlgUZgIZXkFcQRRFCEJkexhdB24LFFtEUHMQfQ5GXH0pXAQJbRZeLAcCVEULRmR6KV5VNVYSCkVVRBUiAUEDKRgMBTRREV9KUUNGdlxAByhNWwVvBUIKEVBzJXwJdlR6GF0GZAoUWUdRQCUpUBkCJE0ZWTVcIlxyVnMURUooDytAGlU1Vl9fEgUWFSIPRFN7TlUCMFETDUIEERZ3AEBUKBoIAzRQRlpCX0VFIltBZHopXA%253d%253d; pt_key=【你復制的pt_key的值】; pt_pin=【你復制的pt_pin的值】; pwdt_id=jd_505bacd333f6b; sid=1b2c8b7ce820c4188f048e689bf58c8w; visitkey=36446698972455355"
            }

response = requests.post(url=url, headers=headers)
print(response.text)

運行一下腳本,看一下效果,這里我已經執行過一遍了,所以提示已簽到過了

思考

看完之后,感覺好像沒啥用啊,我還要運行一遍代碼再能簽到,不是和手機APP上點簽到一樣嗎。

這里只要把這段邏輯配置成定時任務,每天固定一個時間點執行,就能自動簽到了,只要注意Cookie失效的時候,重新獲取一遍pt_pin和pt_key就是了。

因為博主對Python還不熟,所以用Java寫了完整的定時任務,關注公眾號:福音同學,公眾號內回復 京豆 即可獲取。


免責聲明!

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



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