Allgemeine Einführung
ScrapeGraphAI ist eine innovative Web-Crawling-Bibliothek in Python, die auf geschickte Weise Large Language Modelling (LLM) und Direct Graph Logic kombiniert, um Crawling-Pipelines für Websites und lokale Dokumente zu erstellen. Die Einzigartigkeit dieses Tools liegt in der perfekten Balance zwischen Einfachheit und Leistungsfähigkeit: Der Benutzer beschreibt einfach die Informationen, die er/sie extrahieren möchte, und ScrapeGraphAI automatisiert die gesamte Komplexität des Crawling-Prozesses. Das Projekt unterstützt die Verarbeitung von Dokumenten in einer breiten Palette von Formaten, darunter XML, HTML, JSON und Markdown. Durch die Bereitstellung von SDKs für Python und Node.js ermöglicht es Entwicklern, Web-Crawling-Funktionen einfach in ihre Projekte zu integrieren. ScrapeGraphAI ist mehr als nur ein einfaches Web-Crawling-Tool, es bietet auch umfangreiche Funktionen wie paralleles Crawling mehrerer Seiten, Sprachgenerierung, automatische Generierung von Python-Skripten und andere erweiterte Funktionen.
Graphenlogik ist ein zentrales technisches Konzept in ScrapeGraphAI, das sich auf eine strukturierte Verarbeitungsmethode für die Extraktion von Webdaten bezieht. Im Einzelnen:
- Darstellung der Datenstruktur:
- Betrachten Sie Webinhalte als eine grafische Struktur
- Das HTML-Dokument wird in eine Sammlung von Knoten und Kanten umgewandelt.
- Jedes HTML-Element ist ein Knoten, und die Beziehungen zwischen den Elementen werden durch Kanten dargestellt
- Verarbeitungsablauf:
- Erstellen Sie zunächst die DOM-Baumstruktur der Seite
- Analyse der hierarchischen und assoziativen Beziehungen zwischen den Knotenpunkten
- Einsatz von KI (Big Language Modelling) zum Verständnis der Nutzerbedürfnisse
- Suche nach dem optimalen Datenextraktionspfad auf der Grundlage der Graphenstruktur
Funktionsliste
- Intelligentes Single-Page-Crawling: Die Extraktion von Inhalten kann mit nur einer Benutzerabfrage und einer Eingabequelle durchgeführt werden
- Multi-Page Parallel Crawl: Unterstützt das gleichzeitige Extrahieren von Informationen aus mehreren Webseiten.
- Crawling von Suchmaschinenergebnissen: kann Informationen aus den ersten N Ergebnissen der Suchmaschine extrahieren
- Sprachumwandlungsfunktion: kann Webinhalte in Audiodateien umwandeln
- Automatische Skripterstellung: Python-Skripte können für die Extraktion von Inhalten erstellt werden
- Unterstützung mehrerer LLMs: kompatibel mit OpenAI, Groq, Azure, Gemini und anderen APIs sowie nativen Ollama-Modellen
- Erweiterte semantische Verarbeitung: Unterstützung für semantische Verarbeitungswerkzeuge wie Graphviz
- Browser-Verwaltung: integriert mit einer Vielzahl von Browser-Verwaltungstools und -diensten
- Unterstützung der API-Integration: Bereitstellung einer vollständigen API-Schnittstelle und SDK-Unterstützung
Hilfe verwenden
1. die Installationsschritte
- Installation des Fundaments
pip install scrapegraphai
playwright installieren
Es wird empfohlen, in einer virtuellen Umgebung zu installieren, um Bibliothekskonflikte zu vermeiden.
- Optionale Installation von Abhängigkeiten
- Installieren Sie mehr Sprachmodell-Unterstützung:
pip install scrapegraphai[other-language-models]
- Installation der semantischen Verarbeitungsmöglichkeiten:
pip install scrapegraphai[more-semantic-options]
- Installieren Sie die Browser-Option:
pip install scrapegraphai[more-browser-options]
2. grundlegende Verwendung
Im Folgenden finden Sie ein Beispiel für die Verwendung von SmartScraperGraph (die am häufigsten verwendete Scraping-Pipeline):
json importieren
von scrapegraphai.graphs importieren SmartScraperGraph
# Konfigurieren Sie die Scraping-Pipeline
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_APIKEY", "model": "openai/gptpt": {
"model": "openai/gpt-4o-mini",
}, }
"verbose": True, "headless": False
"headless": False, }
}
# Erstellen einer SmartScraperGraph-Instanz
smart_scraper_graph = SmartScraperGraph(
prompt="Extrahiere mir alle Nachrichten von der Website",
source="https://www.wired.com",
config=graph_config
)
# Ausführen der Pipeline
Ergebnis = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
3. eine Beschreibung der Nutzung der erweiterten Funktionen
- mehrseitiges Crawling
- Verwenden Sie SmartScraperMultiGraph, um Informationen aus mehreren Seiten gleichzeitig zu extrahieren.
- Unterstützt parallele LLM-Aufrufe zur Verbesserung der Verarbeitungseffizienz
- Suchergebnis Crawl
- Mit SearchGraph können Sie Informationen direkt aus den Ergebnissen von Suchmaschinen extrahieren.
- Unterstützt die Einstellung der Anzahl von Extraktionsergebnissen
- phonetische Transkription
- Mit SpeechGraph können Sie Webinhalte in Audiodateien umwandeln.
- Unterstützt mehrere Sprachsyntheseoptionen
- Automatische Skripterstellung
- ScriptCreatorGraph erzeugt Python-Skripte für die Extraktion von Inhalten.
- Unterstützung für einseitige und mehrseitige Skripterstellung
- LLM-Integration
- Unterstützung für mehrere LLM-Dienste: OpenAI, Groq, Azure, Gemini
- Unterstützung für native Ollama-Modelle (erfordert die Installation von Ollama und den Download der Modelle)
4. vorsichtsmaßnahmen
- Vergewissern Sie sich, dass der API-Schlüssel vor der Verwendung korrekt konfiguriert ist.
- Empfohlen wird die Ausführung in einer virtuellen Umgebung, um Abhängigkeitskonflikte zu vermeiden.
- Wenn Sie lokale Modelle verwenden, müssen Sie die entsprechenden Modelle im Voraus installieren und herunterladen.
- die Nutzungsbedingungen der Website und die Crawl-Richtlinie einhalten
- Achten Sie darauf, die Häufigkeit des Crawlings zu kontrollieren, um Druck auf die Zielstelle zu vermeiden.
5. die Fehlersuche
- Wenn ein Abhängigkeitskonflikt auftritt, empfiehlt es sich, die virtuelle Umgebung neu zu erstellen
- Überprüfung der Schlüsselkonfiguration bei fehlgeschlagenem API-Aufruf
- Überprüfung der Netzwerkkonnektivität und der Verfügbarkeit der Zielsite, wenn der Crawl einer Seite fehlschlägt
6. der Zugang zu Hilfe
- Offizielle Dokumentation: https://scrapegraph-ai.readthedocs.io/
- Docusaurus-Dokumentation: https://docs-oss.scrapegraphai.com/
- Discord Community-Unterstützung: https://discord.gg/uJN7TYcpNa
- GitHub Issue Tracker: https://github.com/ScrapeGraphAI/Scrapegraph-ai/issues