Datenerfassung
Wie Sentry Analytics Daten aus mehreren Quellen sammelt und verarbeitet.
📊 Datenquellen
| Quelle | Datentyp | Methode | Aktualisierungshäufigkeit |
|---|---|---|---|
| Kununu | Mitarbeiterbewertungen | Web scraping | Bei Bedarf |
| Unternehmensbewertungen | Places API | Bei Bedarf | |
| Diskussionen | Reddit API | Bei Bedarf | |
| Indeed | Stellenangebote | Web scraping | Bei Bedarf |
🔧 Scraping-Architektur
User Request → Smart Search → Scraping Queue → 4 Parallel Jobs → Database
↓
┌─────────┴─────────┐
↓ ↓ ↓ ↓
Kununu Google Reddit Indeed
↓ ↓ ↓ ↓
└─────────┬─────────┘
↓
Sentiment Analysis (AI)
↓
Topic Extraction (ABSA)
↓
Trust Score Calculation
1. Kununu Scraper
Zweck: Mitarbeiterbewertungen aus der DACH-Region
Gesammelte Daten
- Titel und Text der Bewertung
- Bewertung (1-5 Sterne)
- Vor- und Nachteile
- Berufsrolle und Standort
- Bewertungsdatum
Technologie
- Selenium mit undetected-chromedriver
- Anti-Bot: Delays, User-Agent Rotation
- Rate: ~100 Bewertungen/Minute
2. Google Reviews
Zweck: Kunden-/Arbeitgeberbewertungen von Google Maps
Gesammelte Daten
- Name des Rezensenten
- Bewertung (1-5 Sterne)
- Bewertungstext
- Datum
Technologie
- Google Places API (offiziell)
- Rate: 50 Anfragen/Tag (kostenlose Stufe)
- 24 Stunden zwischengespeichert
3. Reddit Scraper
Zweck: Unternehmensdiskussionen und Sentiment
Gesammelte Daten
- Titel und Inhalt des Beitrags
- Kommentare
- Upvotes/Score
- Subreddit-Quelle
- Datum
Subreddits
- r/jobs, r/careerguidance
- r/cscareerquestions
- r/germany (DACH-Unternehmen)
Technologie
- PRAW (Python Reddit API)
- OAuth2 authentication
- Rate: 60 Anfragen/Minute
4. Indeed Stellenangebote
Zweck: Verfolgung von Stellenangeboten zur Fluktuationsanalyse
Gesammelte Daten
- Berufsbezeichnung
- Standort
- Gehaltsspanne
- Veröffentlichungsdatum
Technologie
- Selenium scraping
- Rate: ~50 Jobs/Minute
📦 Magic Search
Die Ein-Klick-Analyse erstellt 4 Scraping-Jobs:
POST /api/scraping/magic-search
{
"company_name": "BMW",
"country": "de"
}
Antwort:
{
"status": "scraping_started",
"jobs_started": 4,
"message": "🚀 Analysis started!"
}
🔄 Job-Management
Job-Status
| Status | Bedeutung |
|---|---|
pending | In Warteschlange |
running | Wird aktuell gescrapt |
completed | Abgeschlossen |
failed | Fehler aufgetreten |
cancelled | Manuell gestoppt |
Jobs überwachen
GET /api/scraping/jobs/JOB_ID
# Response
{
"status": "running",
"reviews_collected": 156,
"progress_percent": 78
}
⚡ Nachbearbeitung
Nach Abschluss des Scrapings:
- Deduplication – Duplikate entfernen
- Sentiment Analysis – KI-Kategorisierung (Gemini 2.5)
- Topic Extraction – ABSA für Aspekte
- Trust Score – Neuberechnung
- Views Refresh – Materialisierte Views aktualisieren
🤖 Ethisches Scraping
Wir implementieren eine verantwortungsvolle Datenerfassung:
- ✅ Respektvolle Verzögerungen (1-5 Sekunden)
- ✅ User-Agent Rotation
- ✅ Einhaltung von Rate Limiting
- ✅ Error Backoff
- ✅ Robots.txt Respekt
Die Datenerfassung wird bei Bedarf über Smart Search oder API ausgelöst.