This commit is contained in:
mzl
2026-01-12 18:19:24 +08:00
parent 950c61226d
commit fb98a5d221
4 changed files with 385 additions and 27 deletions
+10 -10
View File
@@ -23,22 +23,22 @@ class RiskControlException(Exception):
class XiaoHongShuScraper:
"""小红书采集器"""
def __init__(self, event_queue: asyncio.Queue, log_manager: LogManager):
def __init__(self, event_queue: asyncio.Queue, log_manager: LogManager, browser=None):
self.event_queue = event_queue
self.log_manager = log_manager
self.playwright = None
self.browser: Optional[Browser] = None
self.browser = browser # 使用传入的浏览器实例
self.is_running = False
self._stop_requested = False
async def init_browser(self):
"""初始化浏览器"""
self.playwright = await async_playwright().start()
self.browser = await self.playwright.chromium.launch(
headless=config.HEADLESS,
args=config.BROWSER_ARGS
)
await self.emit_log("SUCCESS", "浏览器初始化完成")
"""初始化浏览器(如果未传入浏览器实例)"""
if not self.browser:
self.playwright = await async_playwright().start()
self.browser = await self.playwright.chromium.launch(
headless=config.HEADLESS,
args=config.BROWSER_ARGS
)
await self.emit_log("SUCCESS", "浏览器初始化完成")
async def close_browser(self):
"""关闭浏览器"""