From fc117963e4754769941cc32d6b57cbfffe238872 Mon Sep 17 00:00:00 2001 From: angreman <91473116+angreman@users.noreply.github.com> Date: Thu, 19 Jan 2023 19:10:10 +0800 Subject: [PATCH] Delete jd_dpcj.py --- jd_dpcj.py | 196 ----------------------------------------------------- 1 file changed, 196 deletions(-) delete mode 100644 jd_dpcj.py diff --git a/jd_dpcj.py b/jd_dpcj.py deleted file mode 100644 index 3e569b3..0000000 --- a/jd_dpcj.py +++ /dev/null @@ -1,196 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -""" -File: jd_dpcj.py(店铺抽奖-JK) -Author: HarbourJ -Date: 2022/10/15 23:00 -TG: https://t.me/HarbourToulu -TgChat: https://t.me/HarbourChat -cron: 1 1 1 1 1 1 -new Env('店铺抽奖-JK'); -ActivityEntry:https://shop.m.jd.com/shop/lottery?shopId=xxxxx&venderId=xxxxx -Description: 变量:export DPCJID="shopId1&shopId2" #变量为店铺🆔 -""" - -import requests, time, re, os, sys, json -from datetime import datetime -from sendNotify import * -from urllib.parse import quote_plus, unquote_plus -import warnings -warnings.filterwarnings("ignore", category=DeprecationWarning) -from functools import partial -print = partial(print, flush=True) -try: - from jd_sign import * -except ImportError as e: - print(e) - if "No module" in str(e): - print("请先运行HarbourJ库依赖一键安装脚本(jd_check_dependent.py),安装jd_sign.so依赖") - sys.exit() -try: - from jdCookie import get_cookies - getCk = get_cookies() -except: - print("请先下载依赖脚本,\n下载链接:https://raw.githubusercontent.com/HarbourJ/HarbourToulu/main/jdCookie.py") - sys.exit(3) - -dpcj = os.environ.get("DPCJID") if os.environ.get("DPCJID") else "" - -if not dpcj: - print("⚠️未发现有效店铺签到活动变量DPCJID,退出程序!") - sys.exit() - -def check(ua, ck): - try: - url = 'https://me-api.jd.com/user_new/info/GetJDUserInfoUnion' - header = { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": ck, - "User-Agent": ua, - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate", - } - result = requests.get(url=url, headers=header, timeout=None).text - codestate = json.loads(result) - if codestate['retcode'] == '1001': - msg = "⚠️当前ck已失效,请检查" - return {'code': 1001, 'data': msg} - elif codestate['retcode'] == '0' and 'userInfo' in codestate['data']: - nickName = codestate['data']['userInfo']['baseInfo']['nickname'] - return {'code': 200, 'name': nickName, 'ck': ck} - except Exception as e: - return {'code': 0, 'data': e} - -def get_time(): - time_now = round(time.time() * 1000) - return time_now - -def getSignInfo(ua, ck, shopId, venderId): - url = f"https://api.m.jd.com/client.action?functionId=whx_getSignInfo&body=%7B%22shopId%22%3A%22{shopId}%22%2C%22venderId%22%3A%22{venderId}%22%2C%22source%22%3A%22m-shop%22%7D&t=1665848303470&appid=shop_view&clientVersion=11.0.0&client=wh5&area=1_88_2888_8&uuid=16587341419872043913507" - headers = { - 'accept': '*/*', - 'accept-encoding': 'gzip, deflate, br', - 'accept-language': 'zh-CN,zh;q=0.9', - 'cookie': ck, - 'origin': 'https://shop.m.jd.com', - 'referer': 'https://shop.m.jd.com/', - 'user-agent': ua - } - response = requests.request("GET", url, headers=headers) - res = response.json() - return res - -def sign(ua, ck, shopId, venderId): - url = f"https://api.m.jd.com/client.action?functionId=whx_sign&body=%7B%22shopId%22%3A%22{shopId}%22%2C%22venderId%22%3A%22{venderId}%22%2C%22source%22%3A%22m-shop%22%7D&t=1665847166130&appid=shop_view&clientVersion=11.0.0&client=wh5&area=1_88_2888_8&uuid=16587341419872043913507" - headers = { - 'accept': '*/*', - 'accept-encoding': 'gzip, deflate, br', - 'accept-language': 'zh-CN,zh;q=0.9', - 'cookie': ck, - 'origin': 'https://shop.m.jd.com', - 'referer': 'https://shop.m.jd.com/', - 'user-agent': ua - } - response = requests.request("GET", url, headers=headers) - res = response.json() - return res - -def get_venderId(ua, ck, shopId): - url = f'https://api.m.jd.com/client.action?functionId=whx_getMShopOutlineInfo&body=%7B%22shopId%22%3A%22{shopId}%22%2C%22source%22%3A%22m-shop%22%7D&appid=shop_view&clientVersion=11.0.0&client=wh5' - headers = { - 'accept': '*/*', - 'accept-encoding': 'gzip, deflate, br', - 'accept-language': 'zh-CN,zh;q=0.9', - 'origin': 'https://shop.m.jd.com', - 'referer': 'https://shop.m.jd.com/', - 'user-agent': ua, - 'cookie': ck - } - response = requests.request("GET", url, headers=headers) - res = response.json() - try: - if res['success']: - venderId = res['data']['shopInfo']['venderId'] - return venderId - else: - return shopId - except: - return - - -if __name__ == "__main__": - global msg - msg = '' - shopIds = dpcj.split('&') - print(f"✅成功获取{len(shopIds)}个DPCJ🆔变量") - try: - cks = getCk - if not cks: - sys.exit() - except: - print("未获取到有效COOKIE,退出程序!") - sys.exit() - num = 0 - for cookie in cks: - num += 1 - if num % 9 == 0: - print("⏰等待3s,休息一下") - time.sleep(3) - ua = userAgent() - try: - pt_pin = re.compile(r'pt_pin=(.*?);').findall(cookie)[0] - pt_pin = unquote_plus(pt_pin) - except IndexError: - pt_pin = f'用户{num}' - print(f'\n******开始【京东账号{num}】{pt_pin} *********\n') - print(datetime.now()) - - result = check(ua, cookie) - if result['code'] != 200: - print(f"‼️{result['data']}") - continue - signRewards = [] - for shopId in shopIds: - print(f"{shopId}") - venderId = get_venderId(ua, cookie, shopId) - time.sleep(0.2) - if not venderId: - continue - signInfo = getSignInfo(ua, cookie, shopId, venderId) - time.sleep(0.2) - try: - if signInfo['isSuccess']: - try: - signInfo_ = signInfo['result']['result']['signInfo'] - except: - print(f"\t⛈店铺抽奖已过期") - continue - if signInfo_['isSign'] == 2: - print(f"\t⛈店铺已抽奖") - else: - toSign = sign(ua, cookie, shopId, venderId) - if toSign['isSuccess']: - if toSign['result']['result']['isWin']: - signReward = toSign['result']['result']['signReward']['name'] - print(f"\t🎉{signReward}") - if "东券" in signReward or "购原价" in signReward: - continue - signRewards.append(signReward) - else: - print("\t💨💨💨") - except: - continue - # time.sleep(0.3) - if signRewards: - price = ','.join(signRewards) - msg += f'【账号{num}】{pt_pin} 🎉{price}\n' - - time.sleep(0.5) - - title = "🗣消息提醒:店铺抽奖-JK" - msg = f"⏰{str(datetime.now())[:19]}\n" + msg - send(title, msg) \ No newline at end of file