From 6d8aabed30b51104584a7da16b3df2a6687a9867 Mon Sep 17 00:00:00 2001 From: ngfchl Date: Tue, 29 Nov 2022 22:01:52 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E8=B0=83=E6=95=B4=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E4=B8=BA=E5=BF=85=E5=A1=AB=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=202.=20=E4=BC=98=E5=8C=96HR=E4=BF=A1=E6=81=AF=E8=A7=A3?= =?UTF-8?q?=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pt_site/UtilityTool.py | 29 +++++++------------ .../migrations/0020_alter_mysite_time_join.py | 18 ++++++++++++ pt_site/models.py | 2 +- 3 files changed, 30 insertions(+), 19 deletions(-) create mode 100644 pt_site/migrations/0020_alter_mysite_time_join.py diff --git a/pt_site/UtilityTool.py b/pt_site/UtilityTool.py index e5247bf..daff522 100644 --- a/pt_site/UtilityTool.py +++ b/pt_site/UtilityTool.py @@ -312,10 +312,9 @@ class PtSpider: my_level = ' ' userdatas = cookie.get('userdatas') time_stamp = cookie.get('info').get('joinTime') - if time_stamp: - time_join = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time_stamp / 1000)) - else: - time_join = None + + time_join = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time_stamp / 1000)) + passkey = cookie.get('passkey') logger.info('passkey: {}'.format(passkey)) @@ -1526,8 +1525,7 @@ class PtSpider: downloaded = stats.get('downloaded') uploaded = stats.get('uploaded') ratio = stats.get('ratio') - if not my_site.time_join: - my_site.time_join = stats.get('joinedDate') + my_site.time_join = stats.get('joinedDate') my_site.latest_active = stats.get('lastAccess') my_site.my_level = details_response.get('personal').get('class') community = details_response.get('community') @@ -1654,16 +1652,11 @@ class PtSpider: # ).split('(')[0].strip('\xa0').strip() # logger.info('注册时间:', time_join_1) # time_join = time_join_1.replace('(', '').replace(')', '').strip('\xa0').strip() - logger.info(f'注册时间:{my_site.time_join}') - if not my_site.time_join: - time_join = ''.join( - details_html.xpath(site.time_join_rule) - ) - if time_join: - my_site.time_join = time_join - else: - pass - + logger.info(f'注册时间:{details_html.xpath(site.time_join_rule)}') + time_join = re.findall(r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}', ''.join( + details_html.xpath(site.time_join_rule) + ).strip()) + my_site.time_join = ''.join(time_join) # 去除字符串中的中文 my_level_1 = ''.join( details_html.xpath(site.my_level_rule) @@ -1702,10 +1695,10 @@ class PtSpider: # if '(' in my_bonus: # my_bonus = my_bonus.split('(')[0] - hr = ''.join(details_html.xpath(site.my_hr_rule)).split(' ')[0] + hr = ''.join(details_html.xpath(site.my_hr_rule)).replace('H&R:', '').strip() my_hr = hr if hr else '0' - + logger.info(f'h&r: {hr} ,解析后:{my_hr}') # logger.info(my_bonus) # 更新我的站点数据 invitation = converter.convert(invitation) diff --git a/pt_site/migrations/0020_alter_mysite_time_join.py b/pt_site/migrations/0020_alter_mysite_time_join.py new file mode 100644 index 0000000..c97da1b --- /dev/null +++ b/pt_site/migrations/0020_alter_mysite_time_join.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.2 on 2022-11-29 22:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('pt_site', '0019_alter_mysite_sp_hour'), + ] + + operations = [ + migrations.AlterField( + model_name='mysite', + name='time_join', + field=models.DateTimeField(blank=True, help_text='请务必填写此项!', null=True, verbose_name='注册时间'), + ), + ] diff --git a/pt_site/models.py b/pt_site/models.py index 3845518..c344285 100644 --- a/pt_site/models.py +++ b/pt_site/models.py @@ -259,7 +259,7 @@ class MySite(BaseEntity): search = models.BooleanField(verbose_name='开启搜索', default=True, help_text='是否开启搜索') # 用户数据 自动拉取 invitation = models.IntegerField(verbose_name='邀请资格', default=0) - time_join = models.DateTimeField(verbose_name='注册时间', blank=True, null=True) + time_join = models.DateTimeField(verbose_name='注册时间', blank=True, null=True, help_text='请务必填写此项!') latest_active = models.DateTimeField(verbose_name='最近活动时间', blank=True, null=True) sp_hour = models.FloatField(verbose_name='时魔', default=0) my_level = models.CharField(verbose_name='用户等级', max_length=16, default='')