Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite

WaterCrawl ist ein leistungsfähiger Open-Source-Web-Crawler, der Benutzern helfen soll, Daten aus Webseiten zu extrahieren und sie in ein Datenformat umzuwandeln, das für die Verarbeitung von Large Language Modelling (LLM) geeignet ist. WaterCrawl basiert auf der Python-Entwicklung, kombiniert mit Django, Scrapy und Celery-Technologie, und unterstützt effizientes Web-Crawling und Datenverarbeitung. WaterCrawl bietet ein SDK für mehrere Sprachen, einschließlich Node.js, Go und PHP, das Entwicklern die Integration in verschiedene Projekte erleichtert. WaterCrawl lässt sich schnell über Docker bereitstellen oder über die bereitgestellten APIs anpassen. WaterCrawl wurde entwickelt, um den Extraktionsprozess von Webdaten für Entwickler und Unternehmen zu vereinfachen, die mit großen Mengen an Webinhalten arbeiten.

Funktionsliste

  • Effizientes Web-Crawling: Unterstützung von benutzerdefinierter Crawling-Tiefe, Geschwindigkeit und Zielinhalt, um schnell Webdaten zu erhalten.
  • Datenextraktion und -bereinigung: Automatische Filterung irrelevanter Tags (z. B. Skripte, Stile), Extraktion des Hauptinhalts und Unterstützung mehrerer Ausgabeformate (z. B. JSON, Markdown).
  • Mehrsprachige SDK-Unterstützung: SDKs für Node.js, Go, PHP und Python werden bereitgestellt, um unterschiedliche Entwicklungsanforderungen zu erfüllen.
  • Fortschrittsüberwachung in Echtzeit: Bietet Echtzeit-Statusaktualisierungen von Crawling-Aufgaben über Celery.
  • Unterstützung der Docker-Bereitstellung: Erstellen Sie mit Docker Compose schnell lokale oder Produktionsumgebungen.
  • MinIO-Integration: Unterstützt die Speicherung und das Herunterladen von Dateien, geeignet für die Verarbeitung großer Datenmengen.
  • Plugin-Erweiterungen: bieten ein Plugin-Framework, mit dem Entwickler die Crawling- und Verarbeitungslogik anpassen können.
  • API-Integration: Unterstützt die Verwaltung von Crawling-Aufgaben, das Abrufen von Ergebnissen oder das Herunterladen von Daten über API.

Hilfe verwenden

Die Installation und Verwendung von WaterCrawl richtet sich an Entwickler und technische Teams und ist für Benutzer geeignet, die mit Python und Docker vertraut sind. Hier ist der detaillierte Installations- und Nutzungsprozess.

Einbauverfahren

  1. Klon-Lager
    Klonen Sie zunächst das GitHub-Repository von WaterCrawl lokal:

    git clone https://github.com/watercrawl/watercrawl.git
    cd watercrawl
    

Dadurch wird der Quellcode von WaterCrawl in Ihre lokale Umgebung heruntergeladen.

  1. Installation von Docker
    Stellen Sie sicher, dass Docker und Docker Compose auf Ihrem System installiert sind. Wenn nicht, besuchen Sie die Docker Offizielle Website Herunterladen und installieren.
  2. Umgebungsvariablen konfigurieren
    gehen in docker kopieren Sie die Beispielkonfigurationsdatei für die Umgebung:

    cd docker
    cp .env.example .env
    

    Compiler .env konfigurieren Sie die erforderlichen Parameter, wie Datenbankverbindung, MinIO-Speicheradresse usw. Beim Einsatz in einer nicht-lokalen Umgebung, z. B. einem Cloud-Server, muss die MinIO-Konfiguration aktualisiert werden:

    MINIO_EXTERNAL_ENDPOINT=your-domain.com
    MINIO_BROWSER_REDIRECT_URL=http://your-domain.com/minio-console/
    MINIO_SERVER_URL=http://your-domain.com/
    

    Diese Einstellungen gewährleisten, dass die Funktionen zum Hoch- und Herunterladen von Dateien ordnungsgemäß funktionieren. Weitere Einzelheiten zur Konfiguration finden Sie unter DEPLOYMENT.md Dokumentation.

  3. Starten des Docker-Containers
    Starten Sie den Dienst mit Docker Compose:

    docker compose up -d
    

    Damit werden die Kerndienste von WaterCrawl gestartet, darunter das Django-Backend, der Scrapy-Crawler und der MinIO-Speicher.

  4. Zugang zu Anwendungen
    Öffnen Sie Ihren Browser und besuchen Sie http://localhost Überprüfen Sie, ob der Dienst ordnungsgemäß ausgeführt wird. Wenn Sie den Dienst auf einem entfernten Server einsetzen, ersetzen Sie localhost ist Ihr Domänenname oder Ihre IP-Adresse.

Funktion Betriebsablauf

Die Kernfunktion von WaterCrawl ist das Crawlen von Webseiten und die Datenextraktion. Im Folgenden werden die einzelnen Schritte der Hauptfunktionen beschrieben.

Web-Crawler

WaterCrawl verwendet das Scrapy-Framework für das Web-Crawling, und Benutzer können Crawling-Aufgaben über die API oder die Befehlszeile initiieren. Zum Beispiel, um eine Crawl-Aufgabe zu initiieren:

{
"url": "https://example.com",
"pageOptions": {
"exclude_tags": ["script", "style"],
"include_tags": ["p", "h1", "h2"],
"wait_time": 1000,
"only_main_content": true,
"include_links": true,
"timeout": 15000
},
"sync": true,
"download": true
}
  • Beschreibung der Parameter::
    • exclude_tagsFiltert bestimmte HTML-Tags (wie Skripte und Stile) aus.
    • include_tagsExtrahiert nur den Inhalt des angegebenen Tags.
    • only_main_contentExtrahieren Sie nur den Hauptinhalt der Seite und ignorieren Sie Seitenleisten, Werbung usw.
    • include_links: Ob sie Links auf der Seite enthält oder nicht.
    • timeoutCrawl Timeout: Legen Sie den Crawl Timeout in Millisekunden fest.
  • Verfahren::
    1. Senden Sie die oben genannten JSON-Anfragen über ein SDK (z. B. Python oder Node.js) oder direkt über eine API.
    2. WaterCrawl liefert die Crawl-Ergebnisse mit extrahiertem Text, Links oder anderen angegebenen Daten.
    3. Die Ergebnisse können in JSON, Markdown oder anderen Formaten gespeichert werden.

Daten-Download

WaterCrawl unterstützt das Speichern von Crawl-Ergebnissen in einer Datei. Zum Beispiel, um eine Sitemap herunterzuladen:

{
"crawlRequestId": "uuid-of-crawl-request",
"format": "json"
}
  • Verfahren::
    1. Ermittelt die ID der Crawling-Aufgabe (wird über die API oder die Aufgabenliste angezeigt).
    2. Verwenden Sie die API, um eine Download-Anforderung zu senden, und geben Sie das Ausgabeformat an (z. B. JSON, Markdown).
    3. Heruntergeladene Dateien werden in MinIO gespeichert und sind über die MinIO-Konsole verfügbar.

Echtzeit-Überwachung

WaterCrawl verwendet Celery, um den Status einer Aufgabe zu überwachen. Benutzer können den Fortschritt einer Aufgabe über die API abfragen:

curl https://app.watercrawl.dev/api/tasks/<task_id>

Der zurückgegebene Aufgabenstatus umfasst "in Bearbeitung", "abgeschlossen" oder "fehlgeschlagen", um den Benutzern zu helfen, den Fortschritt des Crawlings in Echtzeit zu erfassen.

Plug-in-Entwicklung

WaterCrawl unterstützt Plugin-Erweiterungen, die es Entwicklern ermöglichen, eigene Funktionen auf der Grundlage des bereitgestellten Python-Plugin-Frameworks zu erstellen:

  1. Montage watercrawl-plugin Paket:
    pip install watercrawl-plugin
    
  2. Entwickeln Sie Plug-ins unter Verwendung der bereitgestellten abstrakten Klassen und Schnittstellen, um Crawling-Logik oder Datenverarbeitungsabläufe zu definieren.
  3. Integrieren Sie das Plug-in in die Hauptanwendung von WaterCrawl, um benutzerdefinierte Aufgaben auszuführen.

caveat

  • Wenn Sie die Software in einer Produktionsumgebung einsetzen, müssen Sie die .env Datenbank- und MinIO-Konfigurationen in der Datei, da sonst Datei-Uploads oder -Downloads fehlschlagen können.
  • Vermeiden Sie offene Diskussionen über Sicherheit auf GitHub, senden Sie Fragen an support@watercrawl.dev.
  • Es wird empfohlen, das GitHub-Repository von WaterCrawl regelmäßig auf die neuesten Updates und Korrekturen zu überprüfen.

Anwendungsszenario

  1. Vorbereitung großer Modelldaten
    WaterCrawl kann Textinhalte von Zielwebsites schnell crawlen, fremde Daten bereinigen und strukturierte JSON- oder Markdown-Dateien ausgeben, die sich für die direkte Verwendung beim Modelltraining eignen.
  2. Marktforschung
    WaterCrawl kann die Ziel-Webseiten im Stapelverfahren durchsuchen und Schlüsselinformationen (z. B. Produktbeschreibungen, Preise, Nachrichten) extrahieren, um Unternehmen bei der schnellen Zusammenstellung von Marktdaten zu unterstützen.
  3. Content-Aggregation
    WaterCrawl unterstützt benutzerdefinierte Crawling-Regeln, um automatisch Artikeltitel, Text und Links zu extrahieren und eine einheitlich formatierte Inhaltsbibliothek zu erstellen.
  4. SEO-Optimierung
    SEO-Experten können WaterCrawl verwenden, um Sitemaps und Seitenlinks zu crawlen, die Struktur der Website und die Verteilung der Inhalte zu analysieren und die Platzierung in Suchmaschinen zu optimieren.

QA

  1. Welche Programmiersprachen-SDKs unterstützt WaterCrawl?
    WaterCrawl bietet SDKs für Node.js, Go, PHP und Python, die ein breites Spektrum von Entwicklungsszenarien abdecken. Jedes SDK unterstützt die volle API-Funktionalität für eine einfache Integration.
  2. Wie gehe ich mit einer fehlgeschlagenen Crawl-Aufgabe um?
    Überprüfen Sie den Status der Aufgabe, um sicherzustellen, dass sie nicht aufgrund einer Zeitüberschreitung oder eines Netzwerkproblems fehlgeschlagen ist. Anpassungen timeout Parameter oder überprüfen Sie den Anti-Crawl-Mechanismus der Zielsite. Wenden Sie sich erforderlichenfalls an die support@watercrawl.dev.
  3. Werden nichttechnische Benutzer unterstützt?
    WaterCrawl richtet sich in erster Linie an Entwickler und erfordert Grundkenntnisse in Python oder Docker. Nicht-technische Benutzer benötigen möglicherweise Unterstützung durch ein technisches Team, um es einzusetzen und zu verwenden.
  4. Wie kann ich die Funktionalität von WaterCrawl erweitern?
    ausnutzen watercrawl-plugin Das Paket entwickelt benutzerdefinierte Plug-ins, die eine spezifische Crawling- oder Datenverarbeitungslogik definieren, die in die Hauptanwendung integriert wird und dort läuft.
0Lesezeichen
0Gelobt

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

Posteingang

Kontakt

zurück zum Anfang

de_DEDeutsch