更新 点点赚_api.py

This commit is contained in:
chickliu 2024-11-18 22:48:06 +08:00
parent 70670de652
commit f993db0f77

View File

@ -55,7 +55,7 @@ import uuid
from urllib.parse import urlparse, parse_qs,quote
logging.basicConfig(level=logging.INFO, format='[%(levelname)s] ===> %(message)s')
code = "点点赚_api版"
ver = "1.0"
ver = "1.1"
envname = "yuanshen_api"
debug = False #debug模式 开启即从脚本内部获取环境变量
@ -232,26 +232,31 @@ class env():
return encrypted_base64
from functools import wraps
def retry_(max_retries=3, retry_delay=1):
def retry(exceptions = Exception, tries=5, delay=2, backoff=2):
"""
简单的重试 module如果重试失败则抛出错误
"""
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
retries = 0
while retries < max_retries:
# 每次调用时初始化独立的重试计数和延迟时间
_tries, _delay = tries, delay
while _tries > 1:
try:
return func(*args, **kwargs)
except requests.exceptions.RequestException as e:
retries += 1
if retries < max_retries:
logging.info(f"发生错误:将在{retry_delay}秒后重试")
time.sleep(retry_delay)
else:
logging.info("已超过最大重试次数!")
raise
except exceptions as e:
print(f"发生错误:[{e}], Retrying in {_delay} seconds ...")
time.sleep(_delay)
_tries -= 1
_delay *= backoff
# 最后一次尝试
return func(*args, **kwargs)
return wrapper
return decorator
class yuanshen:
def __init__(self,cookie,apiurl) -> None:
self.biz = ['MzA4MjQ5NDMwNg==','MzI2OTA0NzQ5OA==','MzU4OTQ3MDc0Mg==']
@ -279,7 +284,7 @@ class yuanshen:
r = requests.post(url,json=data).json()
logging.info(f"遇到检测文章:推送结果[{r}]")
@retry_(max_retries=3, retry_delay=1)
@retry()
def getreadurl(self):
url = f"http://{self.baseurl}/index/mob/get_read_qr.html"
r = requests.get(url,headers=self.headers,cookies=self.cookie).json()
@ -309,7 +314,7 @@ class yuanshen:
else:
logging.warning(f"❌️未获取到阅读链接[{r}]")
return False
@retry_(max_retries=3, retry_delay=1)
@retry()
def read(self):
url = f"http://{self.domain}/index/index/get_article.html"
url2 = f"http://{self.domain}/index/index/auth_record.html"
@ -466,14 +471,17 @@ class yuanshen:
def main(self):
self.login()
if self.getreadurl():
print("="*30)
try:
self.login()
if self.getreadurl():
print("="*30)
time.sleep(random.randint(3,5))
self.read()
time.sleep(random.randint(3,5))
self.read()
time.sleep(random.randint(3,5))
print("="*30)
self.userinfo()
print("="*30)
self.userinfo()
except Exception as e:
logging.error(f'发生错误:{e}')