2026. június 16., kedd

Házat keres az interneten

Hivatalos oldalak szűrőivel és RSS csatornáival, vagy automatikus böngésző-vezérléssel (Playwright/Selenium) kell dolgozni.Az alábbi Python program a hivatalos oldalakra irányítja a böngészőt, így legálisan és biztonságosan listázhatja a legfrissebb ajánlatokat.
-------------
import asyncio
from playwright.async_api import async_playwright

async def keres_legolcsobb_hazak():
    # Megyei URL az Ingatlan.com-ról
    url = "https://ingatlan.com/szabolcs-szatmar-bereg-megye/elado+haz"

    async with async_playwright() as p:
        # Indítunk egy látható böngészőt (headless=False esetén látod, ahogy dolgozik)
        browser = await p.chromium.launch(headless=False)
        page = await browser.new_page()
        
        print("Navigálás az oldalra...")
        await page.goto(url)
        await page.wait_for_load_state("networkidle")
        
        # Várjuk meg, amíg betöltődik a rendező gomb, és kattintsunk rá (Ár szerint növekvő)
        print("Találatok rendezése...")
        await page.click(".listing__order-dropdown-toggle")
        await page.click(".listing__order-dropdown-item:has-text('Ár szerint növekvő')")
        await page.wait_for_timeout(3000)  # Kis várakozás a frissülésre

        # A hirdetések kártyáinak begyűjtése
        hazak = await page.query_selector_all(".listing-card")
        
        print("\n--- A legolcsóbb szabolcsi házak ---")
        for i, haz in enumerate(hazak[:5]): # Csak az első 5 találat
            cim = await haz.query_selector(".listing-card__address")
            ar = await haz.query_selector(".listing-card__price")
            reszletek = await haz.query_selector(".listing-card__parameters")
            
            cim_szoveg = await cim.inner_text() if cim else "Cím nem található"
            ar_szoveg = await ar.inner_text() if ar else "Ár nélkül"
            reszlet_szoveg = await reszletek.inner_text() if reszletek else "Paraméterek nélkül"
            
            print(f"{i + 1}. Hirdetés:")
            print(f"   Cím: {cim_szoveg.strip()}")
            print(f"   Ár: {ar_szoveg.strip()}")
            print(f"   Adatok: {reszlet_szoveg.strip().replace('\n', ' | ')}")
            print("-" * 40)

        await browser.close()

# Futtatás
if __name__ == "__main__":
    asyncio.run(keres_legolcsobb_hazak())

---------------


Nincsenek megjegyzések:

Megjegyzés küldése