mirror of
https://github.com/ngfchl/ptools
synced 2023-07-10 13:41:22 +08:00
获取公告增加获取公告详情
This commit is contained in:
@@ -2233,11 +2233,16 @@ class PtSpider:
|
||||
})
|
||||
else:
|
||||
notice_res = self.send_request(my_site, url=site.url)
|
||||
notice_res = self.send_request(my_site, url=site.url)
|
||||
# notice_res = self.send_request(my_site, url=site.url)
|
||||
logger.info(f'公告信息:{notice_res}')
|
||||
notice_list = self.parse(notice_res, site.notice_title)
|
||||
notice_list = ["".join(notice) for notice in
|
||||
np.array(notice_list).reshape(len(notice_list) // 2, 2)]
|
||||
content_list = self.parse(
|
||||
notice_res, site.notice_content
|
||||
)
|
||||
notice_list = [f'{title} \n {etree.tostring(content)}' for title, content in
|
||||
zip(notice_list, content_list)]
|
||||
logger.info(f'公告信息列表:{notice_list}')
|
||||
notice = ' \n\n### '.join(notice_list[:notice_count])
|
||||
message_list += f'## 公告 \n### {notice}'
|
||||
|
||||
@@ -158,6 +158,8 @@ class SiteAdmin(admin.ModelAdmin): # instead of ModelAdmin
|
||||
'mailbox_rule',
|
||||
'notice_rule',
|
||||
'message_title',
|
||||
'notice_title',
|
||||
'notice_content',
|
||||
'full_site_free',
|
||||
'time_join_rule',
|
||||
'latest_active_rule',
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# Generated by Django 4.1.2 on 2023-01-16 17:28
|
||||
|
||||
import datetime
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('pt_site', '0032_alter_mysite_expires'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='site',
|
||||
name='notice_content',
|
||||
field=models.CharField(default='//td[@class="text"]/div/a/following-sibling::div/font/font', help_text='获取公告内容', max_length=128, verbose_name='公告内容'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='mysite',
|
||||
name='expires',
|
||||
field=models.DateTimeField(default=datetime.datetime(2023, 1, 16, 17, 43, 42, 327379), help_text='COOKIE有效期', verbose_name='COOKIE有效期'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='site',
|
||||
name='full_site_free',
|
||||
field=models.CharField(default='//td/b/a/font[contains(text(),"全站") and contains(text(),"Free")]/text()', help_text='站免信息', max_length=128, verbose_name='站免规则'),
|
||||
),
|
||||
]
|
||||
@@ -247,9 +247,13 @@ class Site(BaseEntity):
|
||||
default='//td[@class="text"]/div/a//text()',
|
||||
help_text='获取公告标题',
|
||||
max_length=128)
|
||||
notice_content = models.CharField(verbose_name='公告内容',
|
||||
default='//td[@class="text"]/div/a/following-sibling::div/font/font',
|
||||
help_text='获取公告内容',
|
||||
max_length=128)
|
||||
full_site_free = models.CharField(verbose_name='站免规则',
|
||||
default='//td/b/a/font[contains(text(),"全站") and contains(text(),"Free")]/text()',
|
||||
help_text='获取新公告',
|
||||
help_text='站免信息',
|
||||
max_length=128)
|
||||
# HASH RULE
|
||||
hash_rule = models.CharField(verbose_name='种子HASH',
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user