cleanup and fix runtime bugs
This commit is contained in:
@@ -3,8 +3,6 @@ import re
|
||||
import signal
|
||||
import time
|
||||
import uuid
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
from playwright.sync_api import Error as PlaywrightError
|
||||
from playwright.sync_api import BrowserContext, Page, sync_playwright
|
||||
@@ -18,7 +16,7 @@ from .core.utils import save_to_json
|
||||
from .parsing.mapper import CarMapper
|
||||
from .parsing.parser import VehicleParser
|
||||
from .storage.db import PersistenceService
|
||||
from .storage.listing import ListingCollector
|
||||
from .browser.listing import ListingCollector
|
||||
from .storage.schemas import CarRecord
|
||||
|
||||
logger = logging.getLogger("iaai_scraper.scraper")
|
||||
@@ -147,7 +145,6 @@ class IAAIScraper:
|
||||
page.wait_for_load_state("networkidle", timeout=15000)
|
||||
except PlaywrightTimeoutError:
|
||||
pass
|
||||
self._warm_page(page)
|
||||
self.pacer.after_vehicle_open()
|
||||
|
||||
html = page.content()
|
||||
@@ -159,7 +156,7 @@ class IAAIScraper:
|
||||
return {
|
||||
"trace_id": trace_id,
|
||||
"source_url": vehicle_url,
|
||||
"opened_in_gentle_mode": True,
|
||||
"opened_in_light_mode": True,
|
||||
"fetched_at_epoch": int(time.time()),
|
||||
"elapsed_seconds": round(time.perf_counter() - started_at, 3),
|
||||
**parsed,
|
||||
@@ -461,17 +458,3 @@ class IAAIScraper:
|
||||
slept += chunk
|
||||
|
||||
logger.info("Scheduler stopped gracefully after %d cycles.", cycle)
|
||||
|
||||
# helpers
|
||||
|
||||
def _warm_page(self, page: Page) -> None:
|
||||
"""Scroll для lazy-load."""
|
||||
# Небольшой прогрев страницы для ленивых блоков и картинок.
|
||||
rounds = max(0, self.settings.gentle.warm_scroll_rounds)
|
||||
pause_seconds = max(0.1, self.settings.gentle.scroll_pause_ms / 1000)
|
||||
for _ in range(rounds):
|
||||
page.mouse.wheel(0, 1600)
|
||||
time.sleep(pause_seconds)
|
||||
if rounds:
|
||||
page.mouse.wheel(0, -3000)
|
||||
time.sleep(min(0.5, pause_seconds))
|
||||
|
||||
Reference in New Issue
Block a user