京东时光机python脚本 自动完成任务

  • 作者:admin
  • 分类:活动
  • 发布时间:2020.10.30 19:06
  • 阅读:-

京东时光机python脚本 自动完成任务


其他的活动大家都玩的很嗨,这个貌似没什么动静


活动大概就是积碎片兑换奖励,奖励没怎么注意自己去看吧


活动地址:https://h5.m.jd.com/babelDiy/Zeus/3DDunaJMLDamrmGwu73QbqtGtbX1/index.html


脚本参数&使用方法:


1、python脚本,需要自己输入cookie,cookie的获取方法就不多说了,自己去页面抓下即可或者使用那个pc版全民营业生成的ck也可以的(DDG_Cookie.ddg)文件里的,放进单引号中

2、里边有个sleep_num参数,请求间隔,默认3s,嫌慢的自己去改下即可

3、里边还有两个参数,经纬度(lat和lnt),这个默认我写的有(深圳的经纬度),在data中,定位附近的店铺的,可以自己去百度自己的经纬度改改,也可以不改


直接运行即可,需要pip install requests库,之前玩过吧里其他python脚本的应该都安过了

我自己搞了3个号暂时都没啥问题,截图

   

代码下载:

jd_sgj.zip


代码如下:

import requests
import time
import json
import urllib3
urllib3.disable_warnings()

#请求延迟时间单位s
sleep_num = 3
Cookie = ''
url = "https://api.m.jd.com/client.action"
headers = {
    'User-Agent': 'jdapp;Mozilla/5.0 (Linux; U; Android 7.0; zh-CN; BAC-TL00 Build/HUAWEIBAC-TL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/11.6.4.950 UCBS/2.11.1.28 Mobile Safari/537.36 AliApp(TB/7.3.0.9) WindVane/8.3.0 1080X1812',
    'Accept': 'application/json',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Origin': 'https://h5.m.jd.com',
    'Referer': 'https://h5.m.jd.com/babelDiy/Zeus/3DDunaJMLDamrmGwu73QbqtGtbX1/index.html?babelChannel=ttt5',
    'Cookie':Cookie
}
def get_shop_id():
    data = 'functionId=bc_getHome&appid=publicUseApi&body={"lat":"22.539604","lng":"114.111027"}&t=%s&client=wh5&clientVersion=1.0.0' % int(round(time.time() * 1000))
    data1 = 'functionId=bc_taskList&appid=publicUseApi&body={"lat":"22.539604","lng":"114.111027"}&t=%s&client=wh5&clientVersion=1.0.0' % int(round(time.time() * 1000))
    try:
        response = requests.post(url,headers=headers,data=data,verify=False).json()
        res = response.get('data','').get('result','').get('homeAdvertVO','')
        nearbystoreid = []
        sendstoreid = []
        pluscomments0=[]
        t1comments0=[]

        nearbyShopList = res.get('nearbyShopList','')
        nearbyShopProgress = res.get('nearbyShopProgress').split('/')
        nearbyShoptimes = int(nearbyShopProgress[1]) - int(nearbyShopProgress[0])
        for i in range(0,nearbyShoptimes):
            nearbyShopid = nearbyShopList[i].get('storeid','')
            nearbystoreid.append(nearbyShopid)

        sendHomeShopList = res.get('sendHomeShopList','')
        sendHomeShopProgress= res.get('sendHomeShopProgress','').split('/')
        sendHomeShoptimes = int(sendHomeShopProgress[1]) - int(sendHomeShopProgress[0])
        for s in range(0,sendHomeShoptimes):
            sendHomeShopid = sendHomeShopList[s].get('storeid','')
            sendstoreid.append(sendHomeShopid)


        plusAdvertList = res.get('plusAdvertList','')
        tplusProgress=res.get('tplusProgress','').split('/')
        plustimes = int(tplusProgress[1]) - int(tplusProgress[0])
        for t in range(0,plustimes):
            plusShopid = plusAdvertList[t].get('comments0','')
            pluscomments0.append(plusShopid)

        t1AdvertList = res.get('t1AdvertList','')
        t1Progress=res.get('t1Progress','').split('/')
        t1times = int(t1Progress[1]) - int(t1Progress[0])
        for v in range(0,t1times):
            t1Shopid = t1AdvertList[v].get('comments0','')
            t1comments0.append(t1Shopid)
        return nearbystoreid,sendstoreid,pluscomments0,t1comments0
    except:
        print("其他错误,退出重试")

def add_shopexe(storeId,storeType):
    data = {
        'functionId':'bc_doTask',
        'appid':'publicUseApi',
        'body':'{"taskType":4,"storeId":"%s","storeType":%s,"lat":"22.539604"}' % (storeId,storeType),
        't':int(round(time.time() * 1000)),
        'client':'wh5',
        'clientVersion':'1.0.0'
    }
    res = requests.post(url,headers=headers,data=data,verify=False).json()
    if res.get('data').get('bizCode') == 0:
        print('任务完成,送你%s能量' % res.get('data').get('result').get('energy'))
    else:
        print(res.get('data').get('bizMsg'))
def add_shopexe1(taskType,shopid):
    data = {
        'functionId':'bc_doTask',
        'appid':'publicUseApi',
        'body':'{"taskType":%s,"shopId":"%s"}' % (taskType,shopid),
        't':int(round(time.time() * 1000)),
        'client':'wh5',
        'clientVersion':'1.0.0'
    }
    res = requests.post(url,headers=headers,data=data,verify=False).json()
    if res.get('data').get('bizCode') == 0:
        print('任务完成,送你%s能量' % res.get('data').get('result').get('energy'))
    elif res.get('data').get('bizCode') == 302 or 311 or 312:
        return res.get('data').get('bizCode')
    else:
        print('其他错误')

nearbystoreid,sendstoreid,pluscomments0,t1comments0 = get_shop_id()

#逛同城附近
print("开始逛同城附近好店")
for nearbystoreId in nearbystoreid:
    print(nearbystoreId)
    if nearbystoreId:
        add_shopexe(nearbystoreId,2)
        time.sleep(sleep_num)
for sendstoreId in sendstoreid:
    print(sendstoreId)
    if sendstoreId:
        add_shopexe(sendstoreId,1)
        time.sleep(sleep_num)
print("逛同城附近好店任务已经完成了")
time.sleep(1)

#逛大牌
print("开始逛“大牌”品牌店铺")
for t1comments0Id in t1comments0:
    print(t1comments0Id)
    if t1comments0Id:
        add_shopexe1(2,t1comments0Id)
        time.sleep(sleep_num)
print("逛“大牌”品牌店铺任务已经完成了")
time.sleep(1)

#逛超级
print("开始逛“超级”品牌店铺")
for pluscomments0Id in pluscomments0:
    print(pluscomments0Id)
    if pluscomments0Id:
        add_shopexe1(1,pluscomments0Id)
        time.sleep(sleep_num)
print("逛“超级”品牌店铺任务已经完成了")
time.sleep(1)

#AR
print("开始逛AR")
s = add_shopexe1(6,'')
print("逛AR完成了")
time.sleep(1)

#逛精选会场
print("开始逛精选会场")
for i in range(0,6):
    s = add_shopexe1(5,'')
    if s == 311:
        break
    time.sleep(sleep_num)
print("逛精选会场完成了")
time.sleep(1)

#逛精选店铺
print("开始逛“精选”品牌店铺")
for i in range(0,40):
    s = add_shopexe1(3,'')
    if s == 302:
        break
    time.sleep(sleep_num)
print("逛“精选”品牌店铺完成了")

input("所有任务已完成,请按回车键退出")


微信公众号:薅羊毛活动网
小程序转二维码微信机器人:关注公众号回复 转码
点击这里给我发消息
嘿!有什么能为您效劳的吗?