Effizientes Website-Data-Scraping für ein verbessertes Datenmanagement

Effizientes Website-Data-Scraping für ein verbessertes Datenmanagement

Wichtige Details

Zugriff auf mehrere Datenquellen mit Data Scraping.

  • Herausforderung
    Schnelles und genaues Scraping von Daten aus mehreren Quellen
  • Lösung
    Bewährte Verfahren für robustes und widerstandsfähiges Web Scraping
  • Technologien und Werkzeuge
    Microsoft Azure Cloud Services für Infrastruktur-Hosting, Tuning und Verwaltung. Python-Sprache mit den erforderlichen Bibliotheken und Frameworks (Azure-sdk, Scrapy, Selenium usw.) für das Scraping und Crawling von Websites

Kunde

Der Kunde ist eine nichtkommerzielle Organisation, die afroamerikanische Kleinunternehmen und Unternehmer unterstützt. Sie sind stolz darauf, Dienstleistungen anzubieten, die afroamerikanischen Unternehmern helfen, Zuschüsse zu erhalten und bei Wettbewerben erfolgreich zu sein.

Herausforderung: schnelles und genaues Scraping von Daten aus verschiedenen Quellen

Der Kunde hat regelmäßig mit riesigen Datenmengen zu tun, die aus verschiedenen Quellen stammen. Daher ist die Datenverwaltung für ihn zu einem Problem geworden.

Sie wollten Jobangebote, Mentoren und Netzwerkmöglichkeiten für talentierte afroamerikanische Unternehmer von verschiedenen Websites zusammensuchen und auf ihrer eigenen Plattform veröffentlichen. So können Unternehmer auf einfache Weise Unternehmen im Besitz von Afroamerikanern entdecken und sie unterstützen oder ihr eigenes Unternehmen gründen.

ESSID Solutions wurde mit der Aufgabe konfrontiert, eine leistungsstarke Lösung für das Scraping von Daten für den Markt des Kunden zu entwickeln.

Lösung: bewährte Verfahren für robustes und widerstandsfähiges Web Scraping

Unser Team von Ingenieuren hat sein Fachwissen im Bereich Data Scraping eingesetzt, um eine effektive Datenerfassung aus verschiedenen Quellen zu ermöglichen.

Website Data Scraping Lösungsschema

Das Team von ESSID Solutions sollte die Infrastruktur und den Codefluss für den Kunden einrichten:

  1. Git und CI/CD Teil

    Für die Code-Verwaltung wurde das AzureDevOps-Repository mit einem solchen Pipeline-Setup verwendet, das es unserem Team ermöglichte, mithilfe eines parallelen Job-Agenten Docker-Images zu erstellen und in die Registry zu übertragen.

  2. Registry und Logic App Teil

    Als nächstes haben wir Azure Docker Container Registry auf Azurblau Portal, um unsere Docker-Images zu speichern.

    Dann mussten wir Docker-Instanzen aus Images erstellen, indem wir Azure Logic App verwendeten, um den Scraper-Code parallel und separat auszuführen.

  3. Teil des Abstreifers

    In dieser Phase erstellte das ESSID Solutions-Team Container-Instanzen mit Logic-Apps. Dann mussten wir jedem Container Zugriff auf Azure-Ressourcen und sensible Daten wie Kennwörter, Verbindungszeichenfolgen usw. geben, die in Azure KeyVault gespeichert waren.

    Abstreifer Teilprojekt

    Um die Ergebnisse der Scraper zu speichern, beschloss unser Team, ein Speicherkonto einzurichten, das wie ein Cloud-Ordner zum Speichern der gescrapten Daten fungieren sollte. Danach waren wir in der Lage, unsere Scraper manuell zu starten, aber wir benötigten eine gewisse Orchestrierung, Automatisierung und Nachbearbeitung.

  4. Data Factory und Orchestrierungsteil

    Unsere Ingenieure haben alle unsere Scraper mit Time-Trigger und in einer einzigen Pipeline mit Azure Data Factory ausgeführt.

    Die Hauptpipeline sollte alle Container mit Anfragen über die Azure-API starten, dann die DataBricks Notebooks zur Verarbeitung der gesammelten Daten.

    Inszenierung Teilprojekt

  5. DataBricks

    In dieser Phase haben wir alle Daten von den Websites gelöscht (da das inkrementelle Laden von Daten von Websites nicht möglich oder schwierig ist) und die Daten vollständig in der Datenbank verarbeitet/gespeichert. Bevor wir neue Daten in die Datenbank geladen haben, haben wir die vorhandenen Daten gelöscht.

    Als Ergebnis hat der Kunde eine robuste Data-Scraping-Lösung, die Daten von mehreren Websites und Unternehmensverzeichnissen ausliest und Informationen über von Afroamerikanern gegründete Unternehmen sammelt, die für die Abonnenten der Plattform des Kunden nützlich sind.

Ergebnis: Optimierung des Data Scraping für kürzere Bearbeitungszeiten

Unser Team aus Datenwissenschaftlern und -ingenieuren griff auf mehrere Quellen zurück, um die Anforderungen des Kunden an die Datenauswertung zu erfüllen.

Unsere Lösung hat den Kunden auf folgende Weise unterstützt: