Opis zlecenia
1. Opis projektu
Zleceniobiorca ma stworzyć crawler internetowy, który będzie monitorował ceny produktów w sklepach internetowych, bazując na nazwie produktu lub numerze GTIN (EAN/UPC). Crawler ma automatycznie wyszukiwać oferty w Google oraz generować tabelę z wynikami.
2. Wymagania funkcjonalne
Wejście danych
Użytkownik wprowadza nazwę produktu lub numer GTIN.
Skrypt wysyła zapytanie do Google, przeszukując pierwsze 100 organicznych wyników wyszukiwania.
Proces zbierania danych
Crawler odwiedza strony z wyników wyszukiwania, sprawdza dostępność produktu oraz wydobywa następujące informacje:
Nazwa sklepu
Link do strony produktu
Cena produktu (bez i z VAT, jeśli dostępne)
Skrypt pomija strony niebędące sklepami internetowymi (fora, blogi, recenzje itp.).
Wyjście danych
Wyniki są prezentowane w formie tabeli CSV, JSON lub XLSX.
Kolumny tabeli:
Nazwa sklepu
Link do produktu
Cena produktu
3. Wymagania techniczne
Język programowania: Python (preferowany), Node.js lub PHP.
Biblioteki/web scraping:
Selenium / Playwright (do dynamicznych stron)
BeautifulSoup4 / Scrapy (do statycznych stron)
SerpAPI / Google Search API (jeśli używane)
Przechowywanie wyników:
CSV / JSON / XLSX (eksport)
Możliwość zapisu do bazy danych SQL lub NoSQL (opcjonalnie).
Obsługa proxy i rotating user-agents:
Używanie User-Agent Rotation i proxy, aby unikać blokad ze strony Google.
Obsługa Captcha (opcjonalne):
Możliwość automatycznego rozwiązywania Captcha (np. przez 2Captcha API lub Anticaptcha).
4. Sposób działania
Użytkownik uruchamia skrypt → podaje nazwę produktu lub numer GTIN.
Crawler wyszukuje wyniki w Google i odwiedza pierwsze 100 organicznych wyników.
Zbiera dane o produkcie (nazwa sklepu, link do produktu, cena).
Eksportuje dane do pliku XLSX.
Zapisuje historię wyszukiwania (opcjonalnie).
5. Dodatkowe wymagania
Łatwość w instalacji i konfiguracji – dokumentacja instalacji oraz krótkie instrukcje użytkowania.
Kod dobrze udokumentowany – komentarze i czytelna struktura kodu.