Narzędzie do automatycznego sprawdzania i monitorowania cen lotów z Kayak.pl. Obsługuje wiele linii lotniczych, zakresów dat i konkretnych linków. Ma prosty interfejs graficzny — nie trzeba nic pisać w terminalu.
Zainstaluj dwie rzeczy. Bez nich nic nie zadziała.
Windows:
- Wejdź na https://www.python.org/downloads/
- Kliknij duży żółty przycisk „Download Python 3.x.x"
- Uruchom pobrany instalator
⚠️ WAŻNE: Zaznacz checkbox „Add Python to PATH" na pierwszym ekranie- Kliknij „Install Now"
- Sprawdź w terminalu:
python --version— powinno pokazać np.Python 3.11.x
macOS:
brew install python3Jeśli nie masz brew: https://brew.sh
Linux (Ubuntu/Debian):
sudo apt install python3 python3-pip python3-venvProgram otwiera Chrome automatycznie w tle (tryb niewidoczny) żeby sprawdzać ceny. Chrome musi być zainstalowany na komputerze.
Windows:
- Wejdź na https://www.google.com/chrome/
- Pobierz i zainstaluj
Lub jeśli wolisz Chromium (wersja open-source, bez Google):
- Wejdź na https://www.chromium.org/getting-involved/download-chromium/
- Pobierz i zainstaluj
macOS:
brew install --cask google-chrome
# lub Chromium:
brew install --cask chromiumLinux:
# Chrome:
sudo apt install google-chrome-stable
# Lub Chromium (lżejszy, bez Google):
sudo apt install chromium-browserDlaczego Chrome? Kayak.pl to strona, która ładuje ceny przez JavaScript. Zwykłe zapytanie HTTP ich nie zobaczy — potrzebna jest prawdziwa przeglądarka. Program otwiera ją w tle, bez okna, czyta ceny i zamyka.
ChromeDriver (sterownik do automatyzacji Chrome) jest pobierany automatycznie przy pierwszym uruchomieniu — nie musisz go instalować ręcznie.
Opcja A — przez Git (zalecane):
git clone https://github.com/TPPP999/drapaKajaK.git
cd drapaKajaKOpcja B — jako ZIP (bez Git):
- Wejdź na https://github.com/TPPP999/drapaKajaK
- Kliknij zielony przycisk
Code→Download ZIP - Rozpakuj ZIP
- Otwórz terminal/cmd w folderze
drapaKajaK
Windows — kliknij dwukrotnie run.bat lub wpisz w terminalu:
run.bat
Linux/macOS:
chmod +x run.sh # jednorazowo, nadaje uprawnienia
./run.shTo wszystko. Przy pierwszym uruchomieniu program automatycznie:
- tworzy środowisko wirtualne Python (
venv/) - instaluje wszystkie wymagane biblioteki
- otwiera interfejs graficzny
Po uruchomieniu zobaczysz okno z pięcioma zakładkami:
| Zakładka | Do czego służy |
|---|---|
| Extended Scraper | Sprawdza wszystkie kombinacje dat w zadanym zakresie. Wybierasz trasę, daty od-do, linie lotnicze i klikasz START. |
| URL Watcher | Wklejasz konkretne linki z Kayak i program monitoruje je cyklicznie. Najprostsza opcja jeśli wiesz czego szukasz. |
| Excel Scraper | Sprawdza loty z pliku Excel (własna lista konkretnych dat/tras). |
| Data Extractor | Wyciąga najlepsze oferty z zebranych danych i zapisuje do Excel. |
| Test | Sprawdza czy Chrome i ChromeDriver działają poprawnie. |
Najprostszy sposób użycia. Zamiast konfigurować zakresy dat, wklejasz gotowe linki z Kayak.
- Wejdź na www.kayak.pl
- Wybierz trasę, daty, liczbę pasażerów
- Odfiltruj konkretną linię lotniczą (ważne — filter na stronie wyników)
- Skopiuj URL z paska przeglądarki
Przykładowy link:
https://www.kayak.pl/flights/WAW-AKL/2026-10-28/2026-11-18/2adults?sort=bestflight_a&fs=airlines%3DQF%2CMULT
- Otwórz zakładkę URL Watcher
- Wklej linki — jeden na linię
- Ustaw interwał sprawdzania (domyślnie: co 60 minut)
- Kliknij "Zapisz watchlistę" a potem "START WATCHING"
Wyniki zapisywane są do pliku CSV w folderze output/url_watcher/ — każdy dzień to osobny plik prices_YYYYMMDD.csv.
Możesz też uruchomić jednorazowo (bez ciągłego monitorowania):
run.bat watcher-once
Jeśli nie masz jeszcze konkretnych dat, ten tryb sprawdza wszystkie możliwe kombinacje w zadanym zakresie.
- Trasa: kody IATA lotnisk, np.
WAW→AKL - Daty wylotu: zakres od-do (np. 24-30 października)
- Daty powrotu: zakres od-do
- Długość pobytu: minimalna i maksymalna liczba dni
- Linie lotnicze: zaznacz checkboxy
- Opóźnienia: czas między zapytaniami (zalecane 30-45s)
| Region | Linie |
|---|---|
| Zatokowe | Turkish Airlines, Emirates, Qatar Airways, Etihad |
| Europejskie | LOT, Lufthansa, KLM, Air France, Swiss, Austrian, Finnair, SAS |
| Azjatyckie | Singapore Airlines, Korean Air, All Nippon Airways, Cathay Pacific, Asiana, Air China |
| Australijskie / inne | Qantas, British Airways, American Airlines |
Zaznacz checkbox „Rolling mode" — program po zakończeniu jednej rundy odczeka podaną liczbę minut i zaczyna od nowa. Idealny do uruchomienia na noc.
Po zebraniu danych:
- Otwórz zakładkę Data Extractor
- Kliknij Browse i wybierz folder z wynikami (
output/kayak_text_data/...) - Preview Data — sprawdź ile plików znaleziono
- EXTRACT TO EXCEL — tworzy plik Excel z najlepszymi ofertami
Plik Excel zawiera kolumny:
- Cena za osobę i łącznie (PLN)
- Data wylotu i powrotu
- Linia lotnicza
- Czasy lotów i przesiadek
- Lotniska przesiadkowe
run.bat # Uruchom GUI (Windows)
run.bat test # Test ChromeDriver
run.bat scraper # Extended scraper (bez GUI)
run.bat watcher # URL Watcher — ciągłe monitorowanie
run.bat watcher-once # URL Watcher — jednorazowe sprawdzenie
run.bat extractor <ścieżka> # Data ExtractorLinux/macOS — te same komendy z ./run.sh zamiast run.bat.
drapaKajaK/
├── run.bat / run.sh ← TUTAJ ZACZYNASZ
├── requirements.txt ← lista bibliotek Python
│
├── src/
│ ├── FlightTool_Simple.py ← główne GUI
│ ├── url_watcher.py ← URL Watcher (scraper)
│ ├── scrap_only_extended.py← Extended scraper
│ ├── kayak_excel_scraper.py← Excel scraper
│ ├── simple_kayak_extractor.py ← analiza wyników
│ └── test_system.py ← testy
│
├── config/
│ ├── config_extended.json ← konfiguracja Extended (zapisywana przez GUI)
│ └── url_watchlist.json ← lista URLi do monitorowania
│
├── output/
│ ├── kayak_text_data/ ← surowe wyniki Extended mode
│ ├── kayak_excel_data/ ← wyniki Excel mode
│ └── url_watcher/ ← wyniki URL Watcher (CSV)
│
├── scripts/
│ └── setup_venv.py ← tworzenie środowiska (wywoływane przez run.bat)
│
└── venv/ ← środowisko wirtualne (tworzone automatycznie)
- Zainstaluj Python ze strony https://www.python.org/downloads/
- Podczas instalacji zaznacz „Add Python to PATH"
- Zrestartuj terminal po instalacji
- Zainstaluj Google Chrome: https://www.google.com/chrome/
- Jeśli masz Chromium zamiast Chrome — też powinno działać
- Sprawdź zakładkę Test → „Quick ChromeDriver Test"
- Zwiększ opóźnienia do 40-60s (Kayak blokuje zbyt szybkie zapytania)
- Spróbuj za kilka godzin — Kayak może tymczasowo blokować
- Sprawdź czy link z Kayak jest poprawny (zakładka URL Watcher)
# Windows:
run.bat gui
# Linux/macOS:
./run.sh guiJeśli nadal nie działa, sprawdź czy python --version zwraca 3.8+.
# Usuń venv i uruchom ponownie:
# Windows:
rmdir /s /q venv
run.bat
# Linux/macOS:
rm -rf venv
./run.sh- Używaj rozsądnych opóźnień (30-45s między zapytaniami) — szanuj serwis Kayak
- Rolling mode najlepiej uruchamiać na noc lub na wiele godzin
- Wyniki są zapisywane lokalnie — nigdzie nie są wysyłane
- Program działa tylko z kayak.pl i kayak.com