# Norda Biznes - Scripts Automatyczne skrypty do zbierania i przetwarzania danych o firmach członkowskich. --- ## 📁 Pliki ### `company-data-collector.js` **Główny agent** zbierający dane o firmach z różnych źródeł. **Funkcje:** - 🔍 Wyszukiwanie firm w ALEO.com (NIP, REGON, KRS) - 🌐 Znajdowanie stron WWW przez Google - 📊 Ekstrakcja danych ze stron firmowych - 💾 Automatyczny zapis do `data/companies-full.json` - 📝 Generowanie logów i raportów --- ## 🚀 Użycie ### Podstawowe uruchomienie ```bash node scripts/company-data-collector.js ``` Przetworzy wszystkie 80 firm z `data/companies-basic.json`. ### Z limitowaniem ```bash # Przetw órz tylko 5 pierwszych firm (test) node scripts/company-data-collector.js --limit 5 # Przetwórz 10 firm node scripts/company-data-collector.js --limit 10 ``` ### Pomijanie już przetworzonych ```bash # Przetwórz tylko firmy, których nie ma w companies-full.json node scripts/company-data-collector.js --skip-processed # Kombinacja: pomiń przetworzone, limit 20 node scripts/company-data-collector.js --skip-processed --limit 20 ``` ### Pomoc ```bash node scripts/company-data-collector.js --help ``` --- ## 📊 Output ### Pliki wyjściowe: 1. **`data/companies-full.json`** - Pełne dane wszystkich przetworzonych firm - Aktualizowany po każdej firmie - Format JSON z metadanymi 2. **`data/collection-log.md`** - Szczegółowy log przetwarzania - Dla każdej firmy: timestamp, kroki, błędy - Markdown format 3. **Konsola** - Real-time progress - Raport końcowy ze statystykami ### Przykładowy output konsoli: ``` 🤖 Norda Biznes - Company Data Collector Agent ================================================ 📊 Załadowano 80 firm do zbadania [1/80] Przetwarzanie: PIXLAB ──────────────────────────────────────────────────────────── 📡 KROK 1: Wyszukiwanie w ALEO.com... ✅ Znaleziono dane urzędowe 🔍 KROK 2: Szukanie strony WWW... ✅ Znaleziono stronę: https://pixlab.pl 🌐 KROK 3: Pobieranie danych ze strony... ✅ Pobrano dane ze strony ✅ Pełne dane zebrane [2/80] Przetwarzanie: KORNIX ... ============================================================ 📊 RAPORT KOŃCOWY ============================================================ Przetworzono: 80/80 firm Pełne dane: 56 (70%) Częściowe dane: 20 (25%) Niepowodzenia: 4 (5%) Czas działania: 16.5 minut Średnio na firmę: 0.21 min ============================================================ ``` --- ## ⚙️ Konfiguracja ### W pliku `company-data-collector.js`: ```javascript const CONFIG = { delayBetweenRequests: 2000, // 2 sekundy między firmami maxRetries: 3, // Maksymalna liczba ponownych prób timeout: 30000 // Timeout 30 sekund }; ``` ### Źródła danych: Agent próbuje pobrać dane z: 1. **ALEO.com** - dane urzędowe (NIP, REGON, KRS) 2. **Google Search** - URL strony WWW 3. **Strony firmowe** - kontakt, usługi, kompetencje --- ## 🔧 Wymagania ### Node.js packages: ```bash # Podstawowe (built-in): - fs - path # Opcjonalne (dla pełnej funkcjonalności): npm install puppeteer # Web scraping # lub npm install playwright # Web scraping (zalecane) # lub npm install cheerio axios # Prosty scraping HTML ``` ### API Keys (opcjonalne): - **Google Custom Search API** - dla automatycznego znajdowania stron WWW - Instrukcje: https://developers.google.com/custom-search/v1/overview --- ## 📝 Status Implementacji ### ✅ Zaimplementowane: - [x] Struktura agenta - [x] CLI interface (argumenty, pomoc) - [x] Wczytywanie danych z companies-basic.json - [x] Zapis do companies-full.json - [x] Generowanie logów - [x] Raportowanie postępu - [x] Ocena jakości danych - [x] Statystyki i raporty ### 🔄 Do zaimplementowania: - [ ] **Rzeczywiste wyszukiwanie w ALEO.com** - Wymaga: puppeteer/playwright - Metoda: `searchAleo(companyName)` - [ ] **Rzeczywiste wyszukiwanie w Google** - Wymaga: Google Custom Search API - Metoda: `findWebsite(companyName)` - [ ] **Rzeczywisty web scraping** - Wymaga: puppeteer/cheerio - Metoda: `scrapeWebsite(url)` - [ ] **Automatyczna aktualizacja data-sources.md** - Metoda: `updateDataSources()` --- ## 🎯 Roadmap ### Faza 1: Ręczne zbieranie danych (OBECNA) - ✅ Struktura agenta gotowa - ✅ Pliki JSON i MD przygotowane - 🔄 Ręczne wypełnianie danych (copy-paste z researchu) ### Faza 2: Semi-automatyczne zbieranie - Implementacja scrapingu ALEO.com - Znajdowanie stron WWW przez Google API - Podstawowy scraping stron (kontakt) ### Faza 3: Pełna automatyzacja - AI-assisted data extraction - Automatyczna walidacja danych - Scheduled updates (cron) - Email notifications --- ## 🐛 Troubleshooting ### Agent się nie uruchamia ```bash # Sprawdź czy Node.js jest zainstalowany: node --version # Powinno pokazać v14+ lub nowsze # Sprawdź uprawnienia: chmod +x scripts/company-data-collector.js # Uruchom z verbose: node scripts/company-data-collector.js --limit 1 ``` ### Brak danych w companies-full.json ```bash # Sprawdź czy plik companies-basic.json istnieje: ls -la data/companies-basic.json # Sprawdź format JSON: cat data/companies-basic.json | python -m json.tool ``` ### "Cannot find module" ```bash # Zainstaluj zależności: npm install # Lub jeśli używasz yarn: yarn install ``` --- ## 📚 Dokumentacja ### Struktura danych firmy: Patrz: `data/companies-full.json` - przykłady z pełnymi danymi ### Log format: Patrz: `data/collection-log.md` - przykład po uruchomieniu agenta ### Źródła danych: Patrz: `data/data-sources.md` - lista wszystkich źródeł --- ## 👨‍💻 Development ### Testowanie: ```bash # Test na 1 firmie: node scripts/company-data-collector.js --limit 1 # Test na 5 firmach: node scripts/company-data-collector.js --limit 5 # Dry run (bez zapisu): # TODO: Dodać flagę --dry-run ``` ### Debugowanie: Odkomentuj linie z `console.log` w metodach: - `searchAleo()` - `findWebsite()` - `scrapeWebsite()` --- ## 📞 Support Pytania lub problemy? Kontakt: - Email: biuro@norda-biznes.info - Issue: Utwórz issue w repo --- **Wersja:** 1.0 **Ostatnia aktualizacja:** 2025-11-23 **Autor:** Norda Biznes Partner Development Team