Web Scraping auf Expertenniveau mit Scrapy und Selenium
Web Scraping auf Expertenniveau mit Scrapy und Selenium
Ein praxisorientierter Leitfaden zur automatisierten Datenextraktion aus statischen und dynamischen Webseiten mit Python
Inhaltsverzeichnis
Kapitel 1: Grundlagen des professionellen Web Scraping
- Rechtliche und ethische Aspekte
- Unterschiede: Scraping, Crawling, API-Zugriff
- Tools und Frameworks im Überblick
- Wann Scrapy? Wann Selenium? Wann beides?
Kapitel 2: Einstieg in Scrapy – Architektur und Setup
- Installation und Projektstruktur
- Spider, Item, Pipeline, Middleware
- Erste Spider mit Ziel-URL und XPath/CSS-Selektoren
- Mini-Projekt: Produkte aus statischer Seite extrahieren
Kapitel 3: Erweiterte Scrapy-Techniken
- Pagination, Follow Links, Multiple Levels
- Crawl-Spiders, Rules, LinkExtractor
- Umgang mit Redirects, Cookies und User-Agent
- Mini-Projekt: Nachrichten-Website mit mehreren Unterseiten scrapen
Kapitel 4: Pipelines und Datenverarbeitung in Scrapy
- Daten bereinigen, validieren, speichern
- Output: JSON, CSV, Datenbank (SQLite, PostgreSQL)
- Bilddownload, Filepipeline, Duplikatfilter
- Mini-Projekt: Scraper mit Bildarchivierung und CSV-Export
Kapitel 5: Scrapy-Middlewares und Proxy-Nutzung
- Middlewares: Logging, Proxy-Rotation, Retry
- Rotating User-Agents, Anti-Bot-Maßnahmen
- Einsatz von scrapy-user-agents, scrapy-proxies, fake-useragent
- Mini-Projekt: Rotierender IP-Scraper mit Headersimulation
Kapitel 6: Einstieg in Selenium für dynamische Inhalte
- Installation mit ChromeDriver/GeckoDriver
- WebDriver, find_element, click, send_keys
- Dynamisches Warten mit WebDriverWait und expected_conditions
- Mini-Projekt: Login automatisieren und Ergebnisse auslesen
Kapitel 7: Scrapy + Selenium kombinieren
- Scrapy Middleware mit Selenium integrieren
- Vorteile: Struktur + Interaktivität
- Beispiele für JavaScript-lastige Seiten
- Mini-Projekt: Interaktive Website vollständig crawlen
Kapitel 8: Fehlerbehandlung und Stabilität
- Umgang mit Timeout, StaleElement, 403
- Retry-Strategien, Caching, Throttling
- Logging mit Levels, Screenshot bei Fehlern
- Mini-Projekt: Robuster Scraper mit Fehlerlog und Wiederholung
Kapitel 9: Scraper testen und überwachen
- Testdaten, Dry-Run, Mock-Server
- Monitoring mit Dashboards (Scrapyd, Grafana, E-Mail-Reports)
- Schedule mit cron, Scrapyd, Airflow, Make
- Mini-Projekt: Automatisierter Tages-Scraper mit Reporting
Kapitel 10: Datenqualität, Analyse und Weiterverarbeitung
- Dublettenbereinigung, Normalisierung
- Einbindung in pandas, Speicherung in Datenbanken
- Integration in Machine Learning Pipelines
- Mini-Projekt: Jobscraper mit Anbindung an Datenanalyse-Tool
Anhang A: Vergleich Scrapy vs. Selenium vs. BeautifulSoup
- Wann welches Tool?
- Performance, Wartbarkeit, API-Unterstützung
Anhang B: Nützliche Tools und Bibliotheken
- scrapy, selenium, fake-useragent, pandas, sqlalchemy, requests-html, playwright
Anhang C: Übungsaufgaben mit Lösungen
- Scrapy-Spider mit Pagination
- Login mit Selenium + Datenexport
- Scrapy + Selenium Scraper mit Datenbankintegration
- Vollständig kommentierte Lösungen