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