From 397d34dca29fd3fc477a9e0df9b68763f2a72914 Mon Sep 17 00:00:00 2001 From: ngfchl Date: Wed, 12 Oct 2022 00:24:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=BDHD4Fans=E7=AD=BE?= =?UTF-8?q?=E5=88=B0=EF=BC=8C=E4=BC=98=E5=8C=96=E9=80=9A=E7=9F=A5=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pt_site/UtilityTool.py | 44 ++++++++++++++++++++++++++++++++++++++---- pt_site/views.py | 7 ++++--- 2 files changed, 44 insertions(+), 7 deletions(-) diff --git a/pt_site/UtilityTool.py b/pt_site/UtilityTool.py index 64008f8..51e3e9f 100644 --- a/pt_site/UtilityTool.py +++ b/pt_site/UtilityTool.py @@ -154,7 +154,8 @@ class PtSpider: server=notify.custom_server, pushkey=notify.corpsecret) # res = pushdeer.send_text(text, desp="optional description") - res = pushdeer.send_markdown(text=text, desp="PushDeer消息提醒") + res = pushdeer.send_markdown(text=text, + desp="#### 欢迎使用PTools,使用中遇到问题请在微信群进行反馈!") msg = 'pushdeer通知' + str(res) logger.info(msg) @@ -166,10 +167,11 @@ class PtSpider: if notify.name == PushConfig.iyuu_push: url = notify.custom_server + '{}.send'.format(notify.corpsecret) + # text = '# ' res = self.get_scraper().post( url=url, data={ - 'text': 'PTools消息推送', + 'text': '欢迎使用PTools', 'desp': text }) logger.info('爱语飞飞通知:' + str(res)) @@ -452,6 +454,31 @@ class PtSpider: return False return img_data + def sign_in_hd4fans(self, my_site: MySite): + site = my_site.site + url = site.url + site.page_control_panel.lstrip('/') + result = self.send_request( + my_site=my_site, + url=url, + ) + sign_str = self.parse(result, '//span[@id="checkin"]/a') + logger.info(sign_str) + if len(sign_str) < 1: + return CommonResponse.success(msg=site.name + '已签到,请勿重复操作!!') + sign_res = self.send_request( + my_site=my_site, + url=site.url + site.page_sign_in.lstrip('/'), + method=site.sign_in_method, + params={ + 'action': 'checkin' + } + ) + msg = '你还需要继续努力哦!此次签到,你获得了魔力奖励:{}'.format(sign_res.content.decode('utf8')) + logger.info(msg) + return CommonResponse.success( + msg=msg + ) + def sign_in_hdc(self, my_site: MySite): site = my_site.site url = site.url + site.page_control_panel.lstrip('/') @@ -543,9 +570,11 @@ class PtSpider: my_site.user_id ) ) - msg = ''.join(title) + ',奖励UCoin{}'.format(''.join(content)) + msg = '{},奖励UCoin{}'.format(''.join(title), ''.join(content)) + logger.info(msg) return CommonResponse.success(msg=msg) else: + logger.info('签到失败!') return CommonResponse.error(msg='签到失败!') def sign_in_hdsky(self, my_site: MySite, captcha=False): @@ -658,7 +687,7 @@ class PtSpider: return '0' if len(res_list) == 0 else res_list[0] def do_sign_in(self, pool, queryset: QuerySet[MySite]): - message_list = '### 未显示的站点已经签到过了哟! \n\n' + message_list = '# 自动签到通知 \n\n ### 未显示的站点已经签到过了哟! \n\n' if datetime.now().hour < 9: # U2每天九点前不签到 queryset = [my_site for my_site in queryset if 'u2.dmhy.org' not in my_site.site.url and @@ -708,6 +737,13 @@ class PtSpider: logger.info('签到链接:' + url) try: # with lock: + if 'hd4fans' in site.url: + result = self.sign_in_hd4fans(my_site) + if result.code == StatusCodeEnum.OK.code: + signin_today.sign_in_today = True + signin_today.sign_in_info = result.msg + signin_today.save() + return result if 'hdchina' in site.url: result = self.sign_in_hdc(my_site) if result.code == StatusCodeEnum.OK.code: diff --git a/pt_site/views.py b/pt_site/views.py index b524976..e2e20a1 100644 --- a/pt_site/views.py +++ b/pt_site/views.py @@ -55,7 +55,7 @@ def auto_get_status(): 更新个人数据 """ start = time.time() - message_list = '' + message_list = '# 更新个人数据 \n\n ' queryset = MySite.objects.all() site_list = [my_site for my_site in queryset if my_site.site.get_userinfo_support] results = pool.map(pt_spider.send_status_request, site_list) @@ -80,7 +80,8 @@ def auto_get_status(): my_site.my_hr ) logger.info('组装Message:{}'.format(message)) - message_list += ('> ' + my_site.site.name + ' 信息更新成功!' + message + ' \n\n') + message_list += ( + '> ' + my_site.site.name + ' 信息更新成功!' + message + ' \n\n') # pt_spider.send_text(my_site.site.name + ' 信息更新成功!' + message) logger.info(my_site.site.name + '信息更新成功!' + message) else: @@ -108,7 +109,7 @@ def auto_update_torrents(): 拉取最新种子 """ start = time.time() - message_list = '' + message_list = '# 拉取免费种子 \n\n ' queryset = MySite.objects.all() site_list = [my_site for my_site in queryset if my_site.site.get_torrent_support] results = pool.map(pt_spider.send_torrent_info_request, site_list)