feat 签到结果保存

This commit is contained in:
jxxghp
2023-07-20 08:34:24 +08:00
parent 2d628361cf
commit 87e50b72da
18 changed files with 236 additions and 227 deletions

View File

@ -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, '签到失败:未获取到验证码'