fix(store): 修复存储实现的AsyncFileWriter导入

重构小红书存储实现,将store_comments方法改为处理单个评论的store_comment
为多个平台添加AsyncFileWriter工具类导入
This commit is contained in:
persist-1
2025-09-06 04:41:37 +08:00
parent be306c6f54
commit e92c6130e1
5 changed files with 12 additions and 11 deletions

View File

@@ -19,6 +19,7 @@ import json
import os
import pathlib
from typing import Dict
from tools.async_file_writer import AsyncFileWriter
import aiofiles
from sqlalchemy import select

View File

@@ -30,6 +30,7 @@ from database.models import TiebaNote, TiebaComment, TiebaCreator
from tools import utils, words
from database.db_session import get_session
from var import crawler_type_var
from tools.async_file_writer import AsyncFileWriter
def calculate_number_of_files(file_store_path: str) -> int:

View File

@@ -28,6 +28,7 @@ import config
from base.base_crawler import AbstractStore
from database.models import WeiboCreator, WeiboNote, WeiboNoteComment
from tools import utils, words
from tools.async_file_writer import AsyncFileWriter
from database.db_session import get_session
from var import crawler_type_var

View File

@@ -32,14 +32,13 @@ class XhsCsvStoreImplement(AbstractStore):
"""
await self.writer.write_to_csv(item_type="contents", item=content_item)
async def store_comments(self, comments: List[Dict]):
async def store_comment(self, comment_item: Dict):
"""
store comments data to csv file
:param comments:
store comment data to csv file
:param comment_item:
:return:
"""
for comment in comments:
await self.writer.write_to_csv(item_type="comments", item=comment)
await self.writer.write_to_csv(item_type="comments", item=comment_item)
async def store_creator(self, creator_item: Dict):
@@ -62,14 +61,13 @@ class XhsJsonStoreImplement(AbstractStore):
"""
await self.writer.write_single_item_to_json(item_type="contents", item=content_item)
async def store_comments(self, comments: List[Dict]):
async def store_comment(self, comment_item: Dict):
"""
store comments data to json file
:param comments:
store comment data to json file
:param comment_item:
:return:
"""
for comment in comments:
await self.writer.write_single_item_to_json(item_type="comments", item=comment)
await self.writer.write_single_item_to_json(item_type="comments", item=comment_item)
async def store_creator(self, creator_item: Dict):
pass

View File

@@ -30,7 +30,7 @@ from database.db_session import get_session
from database.models import ZhihuContent, ZhihuComment, ZhihuCreator
from tools import utils, words
from var import crawler_type_var
from tools.async_file_writer import AsyncFileWriter
def calculate_number_of_files(file_store_path: str) -> int:
"""计算数据保存文件的前部分排序数字,支持每次运行代码不写到同一个文件中