Files
XiaoGe-LiBai-yangmao/桃色Vip.py
2025-11-10 16:12:48 +08:00

226 lines
8.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
# 入口:#小程序://趣网/lRVlzUzgEHjTdYx
# 变量名Ts
# 变量值:手机号&密码 多号换行
# by重庆第一深情
#注:打开小程序,用微信登录,然后授权手机号,然后继续修改资料下面有个修改密码
#这个修改密码入口时有时无,只有自己多试一下,不行就注销再试
"""
import os
import sys
import json
import requests
import time
import datetime
import secrets
import string
import random
from notify import send
print(f"++++++++++桃色程序开始启动++++++++++\n")
def process_account(username, password):
"""处理单个账号的签到和任务"""
print(f"\n======= 处理账号: {username} =======")
login_url = "https://wxapp.lllac.com/xqw/login.php"
checkin_url = "https://wxapp.lllac.com/xqw/user_mall.php"
USER_AGENT = "Mozilla/5.0 (Linux; Android 15; PKG110 Build/UKQ1.231108.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380215 MMWEBSDK/20250904 MMWEBID/6169 MicroMessenger/8.0.64.2940(0x28004034) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android"
timpstamp = int(time.time() * 1000)
ssid = ''.join(secrets.choice(string.ascii_lowercase + string.digits) for _ in range(32))
nums = random.sample(range(2000, 20000), 3)
pcid, rxid, xpid = nums
# 登录
payload = {
'act': "login",
'u_name': username,
'u_pass': password,
'session_id': ssid
}
headers = {
'User-Agent': USER_AGENT,
'timpstamp': str(timpstamp),
'charset': "utf-8",
'Referer': "https://servicewechat.com/wxb96c32e3d2d4b224/102/page-frame.html",
'Cookie': f"SSID={ssid}"
}
try:
# 登录请求
dl = requests.post(login_url, data=payload, headers=headers, timeout=10)
login_result = json.loads(dl.text)
msg = login_result.get("msg", "未知状态")
print(f"👤手机号:{username}")
print(f"💎登录状态:{msg}")
# 签到
qdparams = {
'act': 'signToday',
'ssid': ssid
}
qdheaders = {
'User-Agent': USER_AGENT
}
qd = requests.post(checkin_url, data=qdparams, headers=qdheaders, timeout=10)
qd_result = json.loads(qd.text)
qdmsg = qd_result.get("msg", "未知状态")
print(f"📅签到:{qdmsg}")
# 每周一次任务,默认周一运行
is_monday = datetime.datetime.now().weekday() == 0
result = {
'username': username,
'login_status': msg,
'checkin_status': qdmsg,
'weekly_tasks': []
}
if is_monday:
pcurl = f"https://wxapp.lllac.com/xqw/ch_article_info.php?id={pcid}&channel=quwang&qudao=wapdlxcx&version=182&f=gyg_c3_tab0&act=task"
rxurl = f"https://wxapp.lllac.com/xqw/goods_v2.php?act=task&id={rxid}&channel=quwang&qudao=wapdlxcx&spm=x.hot.g&type=29"
xpurl = f"https://wxapp.lllac.com/xqw/goods_v2.php?act=task&id={xpid}&channel=quwang&qudao=wapdlxcx&spm=x.new.g3&type=28"
pcheaders = {
'User-Agent': USER_AGENT,
'Cookie': f"SSID={ssid}"
}
try:
xp = requests.post(xpurl, headers=pcheaders, timeout=10)
xp_result = json.loads(xp.text)
xpmsg = xp_result.get("msg", "未知状态")
print(f"❤️每周新品:{xpmsg}")
result['weekly_tasks'].append(f"每周新品:{xpmsg}")
except Exception as e:
xpmsg = f"请求失败: {str(e)}"
print(f"❤️每周新品:{xpmsg}")
result['weekly_tasks'].append(f"每周新品:{xpmsg}")
try:
rx = requests.post(rxurl, headers=pcheaders, timeout=10)
rx_result = json.loads(rx.text)
rxmsg = rx_result.get("msg", "未知状态")
print(f"🧡每周热销:{rxmsg}")
result['weekly_tasks'].append(f"每周热销:{rxmsg}")
except Exception as e:
rxmsg = f"请求失败: {str(e)}"
print(f"🧡每周热销:{rxmsg}")
result['weekly_tasks'].append(f"每周热销:{rxmsg}")
try:
pc = requests.post(pcurl, headers=pcheaders, timeout=10)
pc_result = json.loads(pc.text)
pcmsg = pc_result.get("msg", "未知状态")
print(f"💛每周评测:{pcmsg}")
result['weekly_tasks'].append(f"每周评测:{pcmsg}")
except Exception as e:
pcmsg = f"请求失败: {str(e)}"
print(f"💛每周评测:{pcmsg}")
result['weekly_tasks'].append(f"每周评测:{pcmsg}")
else:
print("❌当前时间不是周一,不执行每周任务")
result['weekly_tasks'] = ["当前时间不是星期一,不执行每周一次任务"]
return result
except Exception as e:
print(f"❌处理账号 {username} 时发生错误: {str(e)}")
return {
'username': username,
'login_status': f"处理失败: {str(e)}",
'checkin_status': "未执行",
'weekly_tasks': ["账号处理失败"]
}
def main():
"""主函数"""
Ts = os.getenv("Ts")
if not Ts:
print("❌未找到环境变量 Ts")
send("桃色Vip", "❌未找到环境变量 Ts")
return
# 分割账号,支持换行、#、和空格分隔
accounts = []
for separator in ['\n', '#', ' ', ';']:
if separator in Ts:
accounts = [acc.strip() for acc in Ts.split(separator) if acc.strip()]
break
# 如果没有找到分隔符,尝试直接处理
if not accounts:
accounts = [Ts.strip()]
# 过滤空账号
accounts = [acc for acc in accounts if acc]
if not accounts:
print("❌未找到有效的账号信息")
send("桃色Vip", "❌未找到有效的账号信息")
return
print(f"📝找到 {len(accounts)} 个账号")
all_results = []
for i, account in enumerate(accounts, 1):
print(f"\n🎯正在处理第 {i}/{len(accounts)} 个账号...")
# 解析账号格式:手机号&密码
if '&' in account:
username, password = account.split('&', 1)
username = username.strip()
password = password.strip()
else:
print(f"❌账号格式错误: {account}")
all_results.append({
'username': account,
'login_status': "账号格式错误",
'checkin_status': "未执行",
'weekly_tasks': ["账号格式错误,应为: 手机号&密码"]
})
continue
result = process_account(username, password)
all_results.append(result)
# 添加延迟,避免请求过于频繁
if i < len(accounts):
time.sleep(2)
# 生成汇总通知消息
is_monday = datetime.datetime.now().weekday() == 0
summary_msg = f"桃色Vip - 多账号运行结果\n"
summary_msg += f"📅执行时间: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n"
summary_msg += f"📊处理账号数: {len(all_results)}\n\n"
for i, result in enumerate(all_results, 1):
summary_msg += f"🔹账号{i}: {result['username']}\n"
summary_msg += f" 登录: {result['login_status']}\n"
summary_msg += f" 签到: {result['checkin_status']}\n"
if is_monday and result['weekly_tasks']:
for task in result['weekly_tasks']:
summary_msg += f" {task}\n"
else:
summary_msg += f" 每周任务: 未执行(非周一)\n"
summary_msg += "\n"
print(f"\n++++++++++所有账号处理完成++++++++++")
print(f"📨正在发送通知...")
# 发送汇总通知
send("桃色Vip", summary_msg)
print(f"✅程序执行完成")
if __name__ == "__main__":
main()