fix site parser

This commit is contained in:
jxxghp
2025-06-27 12:26:17 +08:00
parent a9f18ea3ef
commit 23c9862eb3
3 changed files with 35 additions and 24 deletions
+26 -23
View File
@@ -286,26 +286,29 @@ class IndexerModule(_ModuleBase):
return None return None
# 获取用户数据 # 获取用户数据
logger.info(f"站点 {site.get('name')} 开始以 {site.get('schema')} 模型解析数据...") try:
site_obj.parse() logger.info(f"站点 {site.get('name')} 开始以 {site.get('schema')} 模型解析数据...")
logger.debug(f"站点 {site.get('name')} 数据解析完成") site_obj.parse()
return SiteUserData( logger.debug(f"站点 {site.get('name')} 数据解析完成")
domain=StringUtils.get_url_domain(site.get("url")), return SiteUserData(
userid=site_obj.userid, domain=StringUtils.get_url_domain(site.get("url")),
username=site_obj.username, userid=site_obj.userid,
user_level=site_obj.user_level, username=site_obj.username,
join_at=site_obj.join_at, user_level=site_obj.user_level,
upload=site_obj.upload, join_at=site_obj.join_at,
download=site_obj.download, upload=site_obj.upload,
ratio=site_obj.ratio, download=site_obj.download,
bonus=site_obj.bonus, ratio=site_obj.ratio,
seeding=site_obj.seeding, bonus=site_obj.bonus,
seeding_size=site_obj.seeding_size, seeding=site_obj.seeding,
seeding_info=site_obj.seeding_info or [], seeding_size=site_obj.seeding_size,
leeching=site_obj.leeching, seeding_info=site_obj.seeding_info or [],
leeching_size=site_obj.leeching_size, leeching=site_obj.leeching,
message_unread=site_obj.message_unread, leeching_size=site_obj.leeching_size,
message_unread_contents=site_obj.message_unread_contents or [], message_unread=site_obj.message_unread,
updated_day=datetime.now().strftime('%Y-%m-%d'), message_unread_contents=site_obj.message_unread_contents or [],
err_msg=site_obj.err_msg updated_day=datetime.now().strftime('%Y-%m-%d'),
) err_msg=site_obj.err_msg
)
finally:
site_obj.clear()
+8
View File
@@ -442,6 +442,14 @@ class SiteParserBase(metaclass=ABCMeta):
self._session.close() self._session.close()
self._session = None self._session = None
def clear(self):
"""
清除当前解析器的所有信息
"""
self._index_html = ""
self.seeding_info.clear()
self.message_unread_contents.clear()
def to_dict(self): def to_dict(self):
""" """
转化为字典 转化为字典
+1 -1
View File
@@ -468,7 +468,7 @@ class RequestUtils:
return fallback_encoding or "utf-8" return fallback_encoding or "utf-8"
@staticmethod @staticmethod
def get_decoded_html_content(response: Response, def get_decoded_html_content(response: Union[Response, AutoCloseResponse],
performance_mode: bool = False, confidence_threshold: float = 0.8) -> str: performance_mode: bool = False, confidence_threshold: float = 0.8) -> str:
""" """
获取HTML响应的解码文本内容 获取HTML响应的解码文本内容