mirror of
https://github.com/Ytong825/mao.git
synced 2025-12-19 00:05:23 +08:00
创建 ikuuu签到.py
This commit is contained in:
138
ikuuu签到.py
Normal file
138
ikuuu签到.py
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
"""
|
||||||
|
|
||||||
|
time:2023.7.8
|
||||||
|
cron: 23 0 * * *
|
||||||
|
new Env('ikuuu签到');
|
||||||
|
地址:https://ikuuu.me/
|
||||||
|
环境变量 bd_ikuuu = 邮箱#密码
|
||||||
|
多账号新建变量或者用 & 分开
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
import time
|
||||||
|
import requests
|
||||||
|
from os import environ, path
|
||||||
|
from bs4 import BeautifulSoup
|
||||||
|
|
||||||
|
|
||||||
|
# 读取通知
|
||||||
|
def load_send():
|
||||||
|
global send
|
||||||
|
cur_path = path.abspath(path.dirname(__file__))
|
||||||
|
if path.exists(cur_path + "/SendNotify.py"):
|
||||||
|
try:
|
||||||
|
from SendNotify import send
|
||||||
|
print("加载通知服务成功!")
|
||||||
|
except:
|
||||||
|
send = False
|
||||||
|
print(
|
||||||
|
'''加载通知服务失败~\n请使用以下拉库地址\nql repo https://github.com/Bidepanlong/ql.git "bd_" "README" "SendNotify"''')
|
||||||
|
else:
|
||||||
|
send = False
|
||||||
|
print(
|
||||||
|
'''加载通知服务失败~\n请使用以下拉库地址\nql repo https://github.com/Bidepanlong/ql.git "bd_" "README" "SendNotify"''')
|
||||||
|
|
||||||
|
|
||||||
|
load_send()
|
||||||
|
|
||||||
|
|
||||||
|
# 获取环境变量
|
||||||
|
def get_environ(key, default="", output=True):
|
||||||
|
def no_read():
|
||||||
|
if output:
|
||||||
|
print(f"未填写环境变量 {key} 请添加")
|
||||||
|
exit(0)
|
||||||
|
return default
|
||||||
|
|
||||||
|
return environ.get(key) if environ.get(key) else no_read()
|
||||||
|
|
||||||
|
|
||||||
|
class ikuuu():
|
||||||
|
def __init__(self, ck):
|
||||||
|
self.msg = ''
|
||||||
|
self.ck = ck
|
||||||
|
self.cks = ""
|
||||||
|
|
||||||
|
def sign(self):
|
||||||
|
time.sleep(0.5)
|
||||||
|
url = "https://ikuuu.me/user/checkin"
|
||||||
|
url1 = 'https://ikuuu.me/user'
|
||||||
|
login_url = 'https://ikuuu.me/auth/login'
|
||||||
|
|
||||||
|
login_header = {
|
||||||
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
|
||||||
|
}
|
||||||
|
|
||||||
|
data = {
|
||||||
|
'email': self.ck[0],
|
||||||
|
'passwd': self.ck[1],
|
||||||
|
}
|
||||||
|
response = requests.post(login_url, headers=login_header, data=data)
|
||||||
|
cookies = response.cookies
|
||||||
|
cookies_dict = cookies.get_dict()
|
||||||
|
for key, value in cookies_dict.items():
|
||||||
|
ck = f"{key}={value}"
|
||||||
|
self.cks += ck + ';'
|
||||||
|
|
||||||
|
headers = {
|
||||||
|
'Cookie': self.cks,
|
||||||
|
'sec-ch-ua': '"Microsoft Edge";v="111", "Not(A:Brand";v="8", "Chromium";v="111"',
|
||||||
|
}
|
||||||
|
time.sleep(0.5)
|
||||||
|
r = requests.post(url, headers=headers)
|
||||||
|
time.sleep(0.5)
|
||||||
|
r1 = requests.get(url1, headers=headers)
|
||||||
|
try:
|
||||||
|
soup = BeautifulSoup(r1.text, 'html.parser')
|
||||||
|
bs = soup.find('span', {'class': 'counter'})
|
||||||
|
syll = bs.text
|
||||||
|
dl = soup.find('div', {'class': 'd-sm-none d-lg-inline-block'})
|
||||||
|
name = dl.text
|
||||||
|
except:
|
||||||
|
xx = f"[登录]:请检查ck有效性:{self.ck}\n\n"
|
||||||
|
print(xx)
|
||||||
|
self.msg += xx
|
||||||
|
return self.msg
|
||||||
|
|
||||||
|
if r.status_code != 200:
|
||||||
|
xx = f"[登录]:{name}\n[签到]:请求失败,请检查网络或者ck有效性:{self.ck}\n\n"
|
||||||
|
print(xx)
|
||||||
|
self.msg += xx
|
||||||
|
return self.msg
|
||||||
|
try:
|
||||||
|
if "已经签到" in r.json()['msg']:
|
||||||
|
xx = f"[登录]:{name}\n[签到]:{r.json()['msg']}\n[流量]:{syll}GB\n\n"
|
||||||
|
print(xx)
|
||||||
|
self.msg += xx
|
||||||
|
return self.msg
|
||||||
|
elif "获得" in r.json()['msg']:
|
||||||
|
xx = f"[登录]:{name}\n[签到]:{r.json()['msg']}\n[流量]:{syll}GB\n\n"
|
||||||
|
print(xx)
|
||||||
|
self.msg += xx
|
||||||
|
return self.msg
|
||||||
|
else:
|
||||||
|
xx = f"[登录]:未知错误,请检查网络或者ck有效性:{self.ck}\n\n"
|
||||||
|
print(xx)
|
||||||
|
self.msg += xx
|
||||||
|
return self.msg
|
||||||
|
except:
|
||||||
|
xx = f"[登录]:解析响应失败,请检查网络或者ck有效性:{self.ck}\n\n"
|
||||||
|
print(xx)
|
||||||
|
self.msg += xx
|
||||||
|
return self.msg
|
||||||
|
|
||||||
|
def get_sign_msg(self):
|
||||||
|
return self.sign()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
token = get_environ("bd_ikuuu")
|
||||||
|
msg = ''
|
||||||
|
cks = token.split("&")
|
||||||
|
print("检测到{}个ck记录\n开始ikuuu签到\n".format(len(cks)))
|
||||||
|
for ck_all in cks:
|
||||||
|
ck = ck_all.split("#")
|
||||||
|
run = ikuuu(ck)
|
||||||
|
msg += run.get_sign_msg()
|
||||||
|
if send:
|
||||||
|
send("ikuuu签到通知", msg)
|
||||||
Reference in New Issue
Block a user