import time
import random
from bs4 import BeautifulSoup
from scripts.scrap.driver_setup import safe_get


def collect_links(driver, start_page, end_page, known_links):
    collected = set()

    for page in range(start_page, end_page + 1):
        url = f"https://kolesa.kz/cars/?page={page}"

        if not safe_get(driver, url):
            continue

        time.sleep(random.uniform(0.5, 1.2))
        driver.execute_script(
            "window.scrollTo(0, document.body.scrollHeight / 2);")
        time.sleep(random.uniform(0.3, 0.7))

        soup = BeautifulSoup(driver.page_source, "lxml")
        cards = soup.select("a.a-card__link")

        for card in cards:
            href = card.get("href")
            if href and href.startswith("/a/show/"):
                full_link = "https://kolesa.kz" + href
                if full_link not in known_links:
                    collected.add(full_link)

        print(f"[Страница {page}] Собрано ссылок: {len(collected)}")

    return list(collected)
