mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-06 07:56:52 +08:00
feat 签到结果保存
This commit is contained in:
@@ -55,24 +55,24 @@ class Pt52(_ISiteSigninHandler):
|
||||
render=render)
|
||||
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
sign_status = self.sign_in_result(html_res=html_text,
|
||||
regexs=self._sign_regex)
|
||||
if sign_status:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
return True, '今日已签到'
|
||||
|
||||
# 没有签到则解析html
|
||||
html = etree.HTML(html_text)
|
||||
|
||||
if not html:
|
||||
return False, f'【{site}】签到失败'
|
||||
return False, '签到失败'
|
||||
|
||||
# 获取页面问题、答案
|
||||
questionid = html.xpath("//input[@name='questionid']/@value")[0]
|
||||
@@ -127,21 +127,21 @@ class Pt52(_ISiteSigninHandler):
|
||||
proxies=settings.PROXY if proxy else None
|
||||
).post_res(url='https://52pt.site/bakatest.php', data=data)
|
||||
if not sign_res or sign_res.status_code != 200:
|
||||
logger.error(f"签到失败,签到接口请求失败")
|
||||
return False, f'【{site}】签到失败,签到接口请求失败'
|
||||
logger.error(f"{site} 签到失败,签到接口请求失败")
|
||||
return False, '签到失败,签到接口请求失败'
|
||||
|
||||
# 判断是否签到成功
|
||||
sign_status = self.sign_in_result(html_res=sign_res.text,
|
||||
regexs=self._success_regex)
|
||||
if sign_status:
|
||||
logger.info(f"{site}签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
else:
|
||||
sign_status = self.sign_in_result(html_res=sign_res.text,
|
||||
regexs=self._sign_regex)
|
||||
if sign_status:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
logger.error(f"签到失败,请到页面查看")
|
||||
return False, f'【{site}】签到失败,请到页面查看'
|
||||
logger.error(f"{site} 签到失败,请到页面查看")
|
||||
return False, '签到失败,请到页面查看'
|
||||
|
||||
@@ -47,17 +47,17 @@ class BTSchool(_ISiteSigninHandler):
|
||||
render=render)
|
||||
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
# 已签到
|
||||
if self._sign_text not in html_text:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
html_text = self.get_page_source(url='https://pt.btschool.club/index.php?action=addbonus',
|
||||
cookie=site_cookie,
|
||||
@@ -66,10 +66,10 @@ class BTSchool(_ISiteSigninHandler):
|
||||
render=render)
|
||||
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,签到接口请求失败")
|
||||
return False, f'【{site}】签到失败,签到接口请求失败'
|
||||
logger.error(f"{site} 签到失败,签到接口请求失败")
|
||||
return False, '签到失败,签到接口请求失败'
|
||||
|
||||
# 签到成功
|
||||
if self._sign_text not in html_text:
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
|
||||
@@ -56,24 +56,24 @@ class CHDBits(_ISiteSigninHandler):
|
||||
render=render)
|
||||
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
sign_status = self.sign_in_result(html_res=html_text,
|
||||
regexs=self._sign_regex)
|
||||
if sign_status:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
# 没有签到则解析html
|
||||
html = etree.HTML(html_text)
|
||||
|
||||
if not html:
|
||||
return False, f'【{site}】签到失败'
|
||||
return False, '签到失败'
|
||||
|
||||
# 获取页面问题、答案
|
||||
questionid = html.xpath("//input[@name='questionid']/@value")[0]
|
||||
@@ -128,21 +128,21 @@ class CHDBits(_ISiteSigninHandler):
|
||||
proxies=settings.PROXY if proxy else None
|
||||
).post_res(url='https://chdbits.co/bakatest.php', data=data)
|
||||
if not sign_res or sign_res.status_code != 200:
|
||||
logger.error(f"签到失败,签到接口请求失败")
|
||||
return False, f'【{site}】签到失败,签到接口请求失败'
|
||||
logger.error(f"{site} 签到失败,签到接口请求失败")
|
||||
return False, '签到失败,签到接口请求失败'
|
||||
|
||||
# 判断是否签到成功
|
||||
sign_status = self.sign_in_result(html_res=sign_res.text,
|
||||
regexs=self._success_regex)
|
||||
if sign_status:
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
return True, '签到成功'
|
||||
else:
|
||||
sign_status = self.sign_in_result(html_res=sign_res.text,
|
||||
regexs=self._sign_regex)
|
||||
if sign_status:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
logger.error(f"签到失败,请到页面查看")
|
||||
return False, f'【{site}】签到失败,请到页面查看'
|
||||
logger.error(f"{site} 签到失败,请到页面查看")
|
||||
return False, '签到失败,请到页面查看'
|
||||
|
||||
@@ -45,18 +45,18 @@ class HaiDan(_ISiteSigninHandler):
|
||||
proxy=proxy,
|
||||
render=render)
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
sign_status = self.sign_in_result(html_res=html_text,
|
||||
regexs=self._succeed_regex)
|
||||
if sign_status:
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
|
||||
logger.error(f"签到失败,签到接口返回 {html_text}")
|
||||
return False, f'【{site}】签到失败'
|
||||
logger.error(f"{site} 签到失败,签到接口返回 {html_text}")
|
||||
return False, '签到失败'
|
||||
|
||||
@@ -49,16 +49,16 @@ class Hares(_ISiteSigninHandler):
|
||||
render=render)
|
||||
|
||||
if not html_text:
|
||||
logger.error(f"模拟访问失败,请检查站点连通性")
|
||||
return False, f'【{site}】模拟访问失败,请检查站点连通性'
|
||||
logger.error(f"{site} 模拟访问失败,请检查站点连通性")
|
||||
return False, '模拟访问失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"模拟访问失败,Cookie失效")
|
||||
return False, f'【{site}】模拟访问失败,Cookie失效'
|
||||
logger.error(f"{site} 模拟访问失败,Cookie失效")
|
||||
return False, '模拟访问失败,Cookie失效'
|
||||
|
||||
# if self._sign_text in html_res.text:
|
||||
# logger.info(f"今日已签到")
|
||||
# return True, f'【{site}】今日已签到'
|
||||
# return True, '今日已签到'
|
||||
|
||||
headers = {
|
||||
'Accept': 'application/json',
|
||||
@@ -69,15 +69,15 @@ class Hares(_ISiteSigninHandler):
|
||||
proxies=settings.PROXY if proxy else None
|
||||
).get_res(url="https://club.hares.top/attendance.php?action=sign")
|
||||
if not sign_res or sign_res.status_code != 200:
|
||||
logger.error(f"签到失败,签到接口请求失败")
|
||||
return False, f'【{site}】签到失败,签到接口请求失败'
|
||||
logger.error(f"{site} 签到失败,签到接口请求失败")
|
||||
return False, '签到失败,签到接口请求失败'
|
||||
|
||||
# {"code":1,"msg":"您今天已经签到过了"}
|
||||
# {"code":0,"msg":"签到成功"}
|
||||
sign_dict = json.loads(sign_res.text)
|
||||
if sign_dict['code'] == 0:
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
else:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
@@ -47,17 +47,17 @@ class HDArea(_ISiteSigninHandler):
|
||||
proxies=proxies
|
||||
).get_res(url="https://pt.hd4fans.org/index.php")
|
||||
if not html_res or html_res.status_code != 200:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_res.text:
|
||||
logger.error(f"签到失败,cookie失效")
|
||||
return False, f'【{site}】签到失败,cookie失效'
|
||||
logger.error(f"{site} 签到失败,cookie失效")
|
||||
return False, '签到失败,cookie失效'
|
||||
|
||||
# 判断是否已签到
|
||||
if self._repeat_text in html_res.text:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
# 签到
|
||||
data = {
|
||||
@@ -68,12 +68,12 @@ class HDArea(_ISiteSigninHandler):
|
||||
proxies=proxies
|
||||
).post_res(url="https://pt.hd4fans.org/checkin.php", data=data)
|
||||
if not sign_res or sign_res.status_code != 200:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
# sign_res.text=本次签到魔力
|
||||
if sign_res.text and int(sign_res.text) > 0:
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
|
||||
logger.error(f"签到失败,签到接口返回 {sign_res.text}")
|
||||
return False, f'【{site}】签到失败'
|
||||
logger.error(f"{site} 签到失败,签到接口返回 {sign_res.text}")
|
||||
return False, '签到失败'
|
||||
|
||||
@@ -50,20 +50,20 @@ class HDArea(_ISiteSigninHandler):
|
||||
proxies=proxies
|
||||
).post_res(url="https://www.hdarea.co/sign_in.php", data=data)
|
||||
if not html_res or html_res.status_code != 200:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_res.text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
# 判断是否已签到
|
||||
# '已连续签到278天,此次签到您获得了100魔力值奖励!'
|
||||
if self._success_text in html_res.text:
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
if self._repeat_text in html_res.text:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.error(f"签到失败,签到接口返回 {html_res.text}")
|
||||
return False, f'【{site}】签到失败'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
logger.error(f"{site} 签到失败,签到接口返回 {html_res.text}")
|
||||
return False, '签到失败'
|
||||
|
||||
@@ -52,8 +52,8 @@ class HDChina(_ISiteSigninHandler):
|
||||
cookie += sub_str + ";"
|
||||
|
||||
if "hdchina=" not in cookie:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
site_cookie = cookie
|
||||
# 获取页面html
|
||||
@@ -62,12 +62,12 @@ class HDChina(_ISiteSigninHandler):
|
||||
proxies=proxies
|
||||
).get_res(url="https://hdchina.org/index.php")
|
||||
if not html_res or html_res.status_code != 200:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_res.text or "阻断页面" in html_res.text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
# 获取新返回的cookie进行签到
|
||||
site_cookie = ';'.join(['{}={}'.format(k, v) for k, v in html_res.cookies.get_dict().items()])
|
||||
@@ -77,20 +77,20 @@ class HDChina(_ISiteSigninHandler):
|
||||
sign_status = self.sign_in_result(html_res=html_res.text,
|
||||
regexs=self._sign_regex)
|
||||
if sign_status:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
# 没有签到则解析html
|
||||
html = etree.HTML(html_res.text)
|
||||
|
||||
if not html:
|
||||
return False, f'【{site}】签到失败'
|
||||
return False, '签到失败'
|
||||
|
||||
# x_csrf
|
||||
x_csrf = html.xpath("//meta[@name='x-csrf']/@content")[0]
|
||||
if not x_csrf:
|
||||
logger.error("签到失败,获取x-csrf失败")
|
||||
return False, f'【{site}】签到失败'
|
||||
logger.error("{site} 签到失败,获取x-csrf失败")
|
||||
return False, '签到失败'
|
||||
logger.debug(f"获取到x-csrf {x_csrf}")
|
||||
|
||||
# 签到
|
||||
@@ -102,16 +102,16 @@ class HDChina(_ISiteSigninHandler):
|
||||
proxies=proxies
|
||||
).post_res(url="https://hdchina.org/plugin_sign-in.php?cmd=signin", data=data)
|
||||
if not sign_res or sign_res.status_code != 200:
|
||||
logger.error(f"签到失败,签到接口请求失败")
|
||||
return False, f'【{site}】签到失败,签到接口请求失败'
|
||||
logger.error(f"{site} 签到失败,签到接口请求失败")
|
||||
return False, '签到失败,签到接口请求失败'
|
||||
|
||||
sign_dict = json.loads(sign_res.text)
|
||||
logger.debug(f"签到返回结果 {sign_dict}")
|
||||
if sign_dict['state']:
|
||||
# {'state': 'success', 'signindays': 10, 'integral': 20}
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
else:
|
||||
# {'state': False, 'msg': '不正确的CSRF / Incorrect CSRF token'}
|
||||
logger.error(f"签到失败,不正确的CSRF / Incorrect CSRF token")
|
||||
return False, f'【{site}】签到失败'
|
||||
logger.error(f"{site} 签到失败,不正确的CSRF / Incorrect CSRF token")
|
||||
return False, '签到失败'
|
||||
|
||||
@@ -47,20 +47,20 @@ class HDCity(_ISiteSigninHandler):
|
||||
proxy=proxy,
|
||||
render=render)
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login" in html_text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
# 判断是否已签到
|
||||
# '已连续签到278天,此次签到您获得了100魔力值奖励!'
|
||||
if self._success_text in html_text:
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
if self._repeat_text in html_text:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.error(f"签到失败,签到接口返回 {html_text}")
|
||||
return False, f'【{site}】签到失败'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
logger.error(f"{site} 签到失败,签到接口返回 {html_text}")
|
||||
return False, '签到失败'
|
||||
|
||||
@@ -50,18 +50,18 @@ class HDSky(_ISiteSigninHandler):
|
||||
proxy=proxy,
|
||||
render=render)
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
sign_status = self.sign_in_result(html_res=html_text,
|
||||
regexs=self._sign_regex)
|
||||
if sign_status:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
# 获取验证码请求,考虑到网络问题获取失败,多获取几次试试
|
||||
res_times = 0
|
||||
@@ -118,16 +118,16 @@ class HDSky(_ISiteSigninHandler):
|
||||
).post_res(url='https://hdsky.me/showup.php', data=data)
|
||||
if res and res.status_code == 200:
|
||||
if json.loads(res.text)["success"]:
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
elif str(json.loads(res.text)["message"]) == "date_unmatch":
|
||||
# 重复签到
|
||||
logger.warn(f"重复成功")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.warn(f"{site} 重复成功")
|
||||
return True, '今日已签到'
|
||||
elif str(json.loads(res.text)["message"]) == "invalid_imagehash":
|
||||
# 验证码错误
|
||||
logger.warn(f"签到失败:验证码错误")
|
||||
return False, f'【{site}】签到失败:验证码错误'
|
||||
logger.warn(f"{site} 签到失败:验证码错误")
|
||||
return False, '签到失败:验证码错误'
|
||||
|
||||
logger.error(f'签到失败:未获取到验证码')
|
||||
return False, f'【{site}】签到失败:未获取到验证码'
|
||||
logger.error(f'{site} 签到失败:未获取到验证码')
|
||||
return False, '签到失败:未获取到验证码'
|
||||
|
||||
@@ -49,18 +49,18 @@ class HDUpt(_ISiteSigninHandler):
|
||||
proxy=proxy,
|
||||
render=render)
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
sign_status = self.sign_in_result(html_res=html_text,
|
||||
regexs=self._sign_regex)
|
||||
if sign_status:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
# 签到
|
||||
html_text = self.get_page_source(url='https://pt.hdupt.com/added.php?action=qiandao',
|
||||
@@ -69,14 +69,14 @@ class HDUpt(_ISiteSigninHandler):
|
||||
proxy=proxy,
|
||||
render=render)
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
logger.debug(f"签到接口返回 {html_text}")
|
||||
logger.debug(f"{site} 签到接口返回 {html_text}")
|
||||
# 判断是否已签到 sign_res.text = ".23"
|
||||
if len(list(map(int, re.findall(r"\d+", html_text)))) > 0:
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
|
||||
logger.error(f"签到失败,签到接口返回 {html_text}")
|
||||
return False, f'【{site}】签到失败'
|
||||
logger.error(f"{site} 签到失败,签到接口返回 {html_text}")
|
||||
return False, '签到失败'
|
||||
|
||||
@@ -51,16 +51,16 @@ class Opencd(_ISiteSigninHandler):
|
||||
proxy=proxy,
|
||||
render=render)
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
if self._repeat_text in html_text:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
# 获取签到参数
|
||||
html_text = self.get_page_source(url='https://www.open.cd/plugin_sign-in.php',
|
||||
@@ -69,24 +69,24 @@ class Opencd(_ISiteSigninHandler):
|
||||
proxy=proxy,
|
||||
render=render)
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
# 没有签到则解析html
|
||||
html = etree.HTML(html_text)
|
||||
if not html:
|
||||
return False, f'【{site}】签到失败'
|
||||
return False, '签到失败'
|
||||
|
||||
# 签到参数
|
||||
img_url = html.xpath('//form[@id="frmSignin"]//img/@src')[0]
|
||||
img_hash = html.xpath('//form[@id="frmSignin"]//input[@name="imagehash"]/@value')[0]
|
||||
if not img_url or not img_hash:
|
||||
logger.error(f"签到失败,获取签到参数失败")
|
||||
return False, f'【{site}】签到失败,获取签到参数失败'
|
||||
logger.error(f"{site} 签到失败,获取签到参数失败")
|
||||
return False, '签到失败,获取签到参数失败'
|
||||
|
||||
# 完整验证码url
|
||||
img_get_url = 'https://www.open.cd/%s' % img_url
|
||||
logger.debug(f"获取到{site}验证码链接 {img_get_url}")
|
||||
logger.debug(f"{site} 获取到{site}验证码链接 {img_get_url}")
|
||||
|
||||
# ocr识别多次,获取6位验证码
|
||||
times = 0
|
||||
@@ -122,11 +122,11 @@ class Opencd(_ISiteSigninHandler):
|
||||
# sign_res.text = '{"state":"success","signindays":"0","integral":"10"}'
|
||||
sign_dict = json.loads(sign_res.text)
|
||||
if sign_dict['state']:
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
else:
|
||||
logger.error(f"签到失败,签到接口返回 {sign_dict}")
|
||||
return False, f'【{site}】签到失败'
|
||||
logger.error(f"{site} 签到失败,签到接口返回 {sign_dict}")
|
||||
return False, '签到失败'
|
||||
|
||||
logger.error(f'签到失败:未获取到验证码')
|
||||
return False, f'【{site}】签到失败:未获取到验证码'
|
||||
logger.error(f'{site} 签到失败:未获取到验证码')
|
||||
return False, '签到失败:未获取到验证码'
|
||||
|
||||
@@ -43,16 +43,16 @@ class PTerClub(_ISiteSigninHandler):
|
||||
proxy=proxy,
|
||||
render=render)
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,签到接口请求失败")
|
||||
return False, f'【{site}】签到失败,请检查cookie是否失效'
|
||||
logger.error(f"{site} 签到失败,签到接口请求失败")
|
||||
return False, '签到失败,请检查cookie是否失效'
|
||||
|
||||
sign_dict = json.loads(html_text)
|
||||
if sign_dict['status'] == '1':
|
||||
# {"status":"1","data":" (签到已成功300)","message":"<p>这是您的第<b>237</b>次签到,
|
||||
# 已连续签到<b>237</b>天。</p><p>本次签到获得<b>300</b>克猫粮。</p>"}
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
else:
|
||||
# {"status":"0","data":"抱歉","message":"您今天已经签到过了,请勿重复刷新。"}
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
@@ -71,28 +71,28 @@ class Tjupt(_ISiteSigninHandler):
|
||||
|
||||
# 获取签到后返回html,判断是否签到成功
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
sign_status = self.sign_in_result(html_res=html_text,
|
||||
regexs=self._sign_regex)
|
||||
if sign_status:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
# 没有签到则解析html
|
||||
html = etree.HTML(html_text)
|
||||
if not html:
|
||||
return False, f'【{site}】签到失败'
|
||||
return False, '签到失败'
|
||||
img_url = html.xpath('//table[@class="captcha"]//img/@src')[0]
|
||||
|
||||
if not img_url:
|
||||
logger.error(f"签到失败,未获取到签到图片")
|
||||
return False, f'【{site}】签到失败,未获取到签到图片'
|
||||
logger.error(f"{site} 签到失败,未获取到签到图片")
|
||||
return False, '签到失败,未获取到签到图片'
|
||||
|
||||
# 签到图片
|
||||
img_url = "https://www.tjupt.org" + img_url
|
||||
@@ -103,8 +103,8 @@ class Tjupt(_ISiteSigninHandler):
|
||||
proxies=settings.PROXY if proxy else None
|
||||
).get_res(url=img_url)
|
||||
if not captcha_img_res or captcha_img_res.status_code != 200:
|
||||
logger.error(f"签到图片 {img_url} 请求失败")
|
||||
return False, f'【{site}】签到失败,未获取到签到图片'
|
||||
logger.error(f"{site} 签到图片 {img_url} 请求失败")
|
||||
return False, '签到失败,未获取到签到图片'
|
||||
captcha_img = Image.open(BytesIO(captcha_img_res.content))
|
||||
captcha_img_hash = self._tohash(captcha_img)
|
||||
logger.debug(f"签到图片hash {captcha_img_hash}")
|
||||
@@ -114,8 +114,8 @@ class Tjupt(_ISiteSigninHandler):
|
||||
options = html.xpath("//input[@name='answer']/following-sibling::text()")
|
||||
|
||||
if not values or not options:
|
||||
logger.error(f"签到失败,未获取到答案选项")
|
||||
return False, f'【{site}】签到失败,未获取到答案选项'
|
||||
logger.error(f"{site} 签到失败,未获取到答案选项")
|
||||
return False, '签到失败,未获取到答案选项'
|
||||
|
||||
# value+选项
|
||||
answers = list(zip(values, options))
|
||||
@@ -191,7 +191,7 @@ class Tjupt(_ISiteSigninHandler):
|
||||
logger.error(f"豆瓣图片匹配,未获取到匹配答案")
|
||||
|
||||
# 没有匹配签到成功,则签到失败
|
||||
return False, f'【{site}】签到失败,未获取到匹配答案'
|
||||
return False, '签到失败,未获取到匹配答案'
|
||||
|
||||
def __signin(self, answer, site_cookie, ua, proxy, site, exits_answers=None, captcha_img_hash=None):
|
||||
"""
|
||||
@@ -207,8 +207,8 @@ class Tjupt(_ISiteSigninHandler):
|
||||
proxies=settings.PROXY if proxy else None
|
||||
).post_res(url=self._sign_in_url, data=data)
|
||||
if not sign_in_res or sign_in_res.status_code != 200:
|
||||
logger.error(f"签到失败,签到接口请求失败")
|
||||
return False, f'【{site}】签到失败,签到接口请求失败'
|
||||
logger.error(f"{site} 签到失败,签到接口请求失败")
|
||||
return False, '签到失败,签到接口请求失败'
|
||||
|
||||
# 获取签到后返回html,判断是否签到成功
|
||||
sign_status = self.sign_in_result(html_res=sign_in_res.text,
|
||||
@@ -220,10 +220,10 @@ class Tjupt(_ISiteSigninHandler):
|
||||
self.__write_local_answer(exits_answers=exits_answers or {},
|
||||
captcha_img_hash=captcha_img_hash,
|
||||
answer=answer)
|
||||
return True, f'【{site}】签到成功'
|
||||
return True, '签到成功'
|
||||
else:
|
||||
logger.error(f"签到失败,请到页面查看")
|
||||
return False, f'【{site}】签到失败,请到页面查看'
|
||||
logger.error(f"{site} 签到失败,请到页面查看")
|
||||
return False, '签到失败,请到页面查看'
|
||||
|
||||
def __write_local_answer(self, exits_answers, captcha_img_hash, answer):
|
||||
"""
|
||||
|
||||
@@ -52,19 +52,19 @@ class TTG(_ISiteSigninHandler):
|
||||
proxy=proxy,
|
||||
render=render)
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
# 判断是否已签到
|
||||
sign_status = self.sign_in_result(html_res=html_text,
|
||||
regexs=self._sign_regex)
|
||||
if sign_status:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
# 获取签到参数
|
||||
signed_timestamp = re.search('(?<=signed_timestamp: ")\\d{10}', html_text).group()
|
||||
@@ -82,16 +82,16 @@ class TTG(_ISiteSigninHandler):
|
||||
).post_res(url="https://totheglory.im/signed.php",
|
||||
data=data)
|
||||
if not sign_res or sign_res.status_code != 200:
|
||||
logger.error(f"签到失败,签到接口请求失败")
|
||||
return False, f'【{site}】签到失败,签到接口请求失败'
|
||||
logger.error(f"{site} 签到失败,签到接口请求失败")
|
||||
return False, '签到失败,签到接口请求失败'
|
||||
|
||||
sign_res.encoding = "utf-8"
|
||||
if self._success_text in sign_res.text:
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
if self._sign_text in sign_res.text:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
logger.error(f"签到失败,未知原因")
|
||||
return False, f'【{site}】签到失败,未知原因'
|
||||
logger.error(f"{site} 签到失败,未知原因")
|
||||
return False, '签到失败,未知原因'
|
||||
|
||||
@@ -54,8 +54,8 @@ class U2(_ISiteSigninHandler):
|
||||
now = datetime.datetime.now()
|
||||
# 判断当前时间是否小于9点
|
||||
if now.hour < 9:
|
||||
logger.error(f"签到失败,9点前不签到")
|
||||
return False, f'【{site}】签到失败,9点前不签到'
|
||||
logger.error(f"{site} 签到失败,9点前不签到")
|
||||
return False, '签到失败,9点前不签到'
|
||||
|
||||
# 获取页面html
|
||||
html_text = self.get_page_source(url="https://u2.dmhy.org/showup.php",
|
||||
@@ -64,25 +64,25 @@ class U2(_ISiteSigninHandler):
|
||||
proxy=proxy,
|
||||
render=render)
|
||||
if not html_text:
|
||||
logger.error(f"签到失败,请检查站点连通性")
|
||||
return False, f'【{site}】签到失败,请检查站点连通性'
|
||||
logger.error(f"{site} 签到失败,请检查站点连通性")
|
||||
return False, '签到失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"签到失败,Cookie失效")
|
||||
return False, f'【{site}】签到失败,Cookie失效'
|
||||
logger.error(f"{site} 签到失败,Cookie失效")
|
||||
return False, '签到失败,Cookie失效'
|
||||
|
||||
# 判断是否已签到
|
||||
sign_status = self.sign_in_result(html_res=html_text,
|
||||
regexs=self._sign_regex)
|
||||
if sign_status:
|
||||
logger.info(f"今日已签到")
|
||||
return True, f'【{site}】今日已签到'
|
||||
logger.info(f"{site} 今日已签到")
|
||||
return True, '今日已签到'
|
||||
|
||||
# 没有签到则解析html
|
||||
html = etree.HTML(html_text)
|
||||
|
||||
if not html:
|
||||
return False, f'【{site}】签到失败'
|
||||
return False, '签到失败'
|
||||
|
||||
# 获取签到参数
|
||||
req = html.xpath("//form//td/input[@name='req']/@value")[0]
|
||||
@@ -91,8 +91,8 @@ class U2(_ISiteSigninHandler):
|
||||
submit_name = html.xpath("//form//td/input[@type='submit']/@name")
|
||||
submit_value = html.xpath("//form//td/input[@type='submit']/@value")
|
||||
if not re or not hash_str or not form or not submit_name or not submit_value:
|
||||
logger.error("签到失败,未获取到相关签到参数")
|
||||
return False, f'【{site}】签到失败'
|
||||
logger.error("{site} 签到失败,未获取到相关签到参数")
|
||||
return False, '签到失败'
|
||||
|
||||
# 随机一个答案
|
||||
answer_num = random.randint(0, 3)
|
||||
@@ -110,14 +110,14 @@ class U2(_ISiteSigninHandler):
|
||||
).post_res(url="https://u2.dmhy.org/showup.php?action=show",
|
||||
data=data)
|
||||
if not sign_res or sign_res.status_code != 200:
|
||||
logger.error(f"签到失败,签到接口请求失败")
|
||||
return False, f'【{site}】签到失败,签到接口请求失败'
|
||||
logger.error(f"{site} 签到失败,签到接口请求失败")
|
||||
return False, '签到失败,签到接口请求失败'
|
||||
|
||||
# 判断是否签到成功
|
||||
# sign_res.text = "<script type="text/javascript">window.location.href = 'showup.php';</script>"
|
||||
if self._success_text in sign_res.text:
|
||||
logger.info(f"签到成功")
|
||||
return True, f'【{site}】签到成功'
|
||||
logger.info(f"{site} 签到成功")
|
||||
return True, '签到成功'
|
||||
else:
|
||||
logger.error(f"签到失败,未知原因")
|
||||
return False, f'【{site}】签到失败,未知原因'
|
||||
logger.error(f"{site} 签到失败,未知原因")
|
||||
return False, '签到失败,未知原因'
|
||||
|
||||
@@ -46,17 +46,17 @@ class ZhuQue(_ISiteSigninHandler):
|
||||
proxy=proxy,
|
||||
render=render)
|
||||
if not html_text:
|
||||
logger.error(f"模拟登录失败,请检查站点连通性")
|
||||
return False, f'【{site}】模拟登录失败,请检查站点连通性'
|
||||
logger.error(f"{site} 模拟登录失败,请检查站点连通性")
|
||||
return False, '模拟登录失败,请检查站点连通性'
|
||||
|
||||
if "login.php" in html_text:
|
||||
logger.error(f"模拟登录失败,Cookie失效")
|
||||
return False, f'【{site}】模拟登录失败,Cookie失效'
|
||||
logger.error(f"{site} 模拟登录失败,Cookie失效")
|
||||
return False, '模拟登录失败,Cookie失效'
|
||||
|
||||
html = etree.HTML(html_text)
|
||||
|
||||
if not html:
|
||||
return False, f'【{site}】模拟登录失败'
|
||||
return False, '模拟登录失败'
|
||||
|
||||
# 释放技能
|
||||
msg = '失败'
|
||||
@@ -85,4 +85,4 @@ class ZhuQue(_ISiteSigninHandler):
|
||||
msg = f'成功,获得{bonus}魔力'
|
||||
|
||||
logger.info(f'【{site}】模拟登录成功,技能释放{msg}')
|
||||
return True, f'【{site}】模拟登录成功,技能释放{msg}'
|
||||
return True, f'模拟登录成功,技能释放{msg}'
|
||||
|
||||
Reference in New Issue
Block a user