Kurs
Daten aus unterschiedlichen Quellen wie Websites oder lokalen Dokumenten (XML, HTML, JSON, Markdown) zu extrahieren und zu strukturieren, ist oft komplex und zeitaufwendig. Ob für Recherche, Business Analytics oder Content-Aggregation – die manuelle Arbeit kann schnell überhandnehmen.
ScrapeGraphAI, eine Python-Bibliothek für Webscraping, macht diesen Prozess deutlich einfacher.
Sie nutzt große Sprachmodelle (LLMs) und direkte Graph-Logik, um effiziente Scraping-Pipelines zu erstellen – automatisiert, mit minimalem Coding-Aufwand.
In diesem Artikel bekommst du eine kurze Einführung in ScrapeGraphAI und richtest deine erste Pipeline ein.
KI-Anwendungen entwickeln
Was ist ScrapeGraphAI?
ScrapeGraphAI ist ein leistungsstarkes Webscraping-Tool, das große Sprachmodelle (LLMs) und direkte Graph-Logik nutzt, um Scraping-Pipelines zu erstellen.
Es kann Informationen von Websites sowie aus verschiedenen lokalen Dokumentformaten wie XML, HTML, JSON und Markdown extrahieren.
Funktionen
ScrapeGraphAI ist benutzerfreundlich und effizient. Du gibst einfach an, welche Informationen du benötigst, und ScrapeGraphAI übernimmt den Rest. Die Erstellung der Scraping-Pipelines wird auf Basis deiner Prompts automatisiert, wodurch du kaum noch manuell coden musst.
Das Tool unterstützt verschiedene Dokumentformate und lässt sich über APIs mit unterschiedlichen LLMs integrieren. Es ist skalierbar und bietet Single-Page- sowie Multi-Page-Scraping – ideal für kleine wie große Extraktionsaufgaben.
Außerdem ist es mit mehreren LLM-Anbietern kompatibel, etwa OpenAI, Groq, Azure und Gemini sowie mit lokalen Modellen über Ollama.
Scraping-Pipelines
ScrapeGraphAI bietet mehrere Arten von Scraping-Pipelines:
- SmartScraperGraph: Ein Single-Page-Scraper, der nur einen Prompt und eine Eingabequelle benötigt.
- SearchGraph: Ein Multi-Page-Scraper, der Informationen aus den Top-Suchergebnissen zieht.
- SpeechGraph: Ein Single-Page-Scraper, der aus Website-Inhalten Audiodateien erzeugt.
- ScriptCreatorGraph: Ein Single-Page-Scraper, der für die extrahierten Daten Python-Skripte erstellt.
- SmartScraperMultiGraph: Ein Multi-Page-Scraper, der mit einem einzigen Prompt und einer Quellliste auf mehreren Seiten arbeitet.
- ScriptCreatorMultiGraph: Ein Multi-Page-Scraper, der Python-Skripte für die Extraktion über mehrere Seiten und Quellen hinweg erzeugt.
Installation von ScrapeGraphAI
ScrapeGraphAI vereinfacht das Einrichten und Ausführen von Datenextraktionen aus Websites und lokalen Dokumenten. So installierst du die Bibliothek schnell und baust eine einfache Scraping-Anwendung.
Schnellinstallation
Für die Installation führe Folgendes aus:
pip install scrapegraphai
Eine einfache ScrapeGraphAI-Anwendung bauen
Wir bauen eine einfache Scraping-Pipeline mit SmartScraperGraph. Zuerst beschreibe ich die Schritte, dann folgt der Code.
Schritt 1: Aufgabe definieren
Lege fest, welche Informationen du extrahieren willst. Im Beispiel ziehen wir alle Artikeltitel und URLs aus meinem eigenen Substack-Newsletter The Limitless Playbook 🧬.
Schritt 2: Pipeline auswählen
Wähle die passende Pipeline. Für eine einzelne Seite nutzen wir SmartScraperGraph. Fühle dich frei, weitere Pipelines für andere Anwendungsfälle auszuprobieren.
Schritt 3: Pipeline ausführen
Starte die Pipeline mit der Methode .run(), um die Daten zu extrahieren.
Schritt 4: Daten prüfen und nutzen
Prüfe die extrahierten Daten. LLMs sind mächtig, liefern anfangs aber nicht immer perfekte Ergebnisse. Passe den Prompt bei Bedarf an, um das gewünschte Ergebnis zu erhalten.
Code
Hier ist das komplette Codebeispiel, das die oben skizzierten Schritte abdeckt:
import json
import nest_asyncio
nest_asyncio.apply()
from scrapegraphai.graphs import SmartScraperGraph
# Define the configuration for the scraping pipeline
OPENAI_API_KEY = "YOUR_OPENAI_API_KEY"
graph_config = {
"llm": {
"api_key": OPENAI_API_KEY,
"model": "gpt-3.5-turbo-0125",
"temperature": 0,
},
"verbose": True,
}
# Create the SmartScraperGraph instance
smart_scraper_graph = SmartScraperGraph(
prompt="List me all the articles with their respective urls",
source="<https://ryanocm.substack.com/archive>",
config=graph_config
)
# Run the pipeline
articles_data = smart_scraper_graph.run()
# Save the result to a JSON file
with open('articles_data.json', 'w') as json_file:
json.dump(articles_data, json_file, indent=4)
Und so sehen die finalen Ergebnisse aus. Ziemlich gut, oder?
{
"articles": [
{
"title": "#112 | I Built an AI Tool to Help You Learn More and Take Action Faster",
"url": "<https://ryanocm.substack.com/p/112-i-built-an-ai-tool-to-help-you>"
},
{
"title": "#111 | Don't Fight When You Are Getting Flooded \\ud83c\\udf0a",
"url": "<https://ryanocm.substack.com/p/111-dont-fight-when-you-are-getting>"
},
{
"title": "#110 | How to process past fights in relationships",
"url": "<https://ryanocm.substack.com/p/110-how-to-process-past-fights-in>"
},
{
"title": "#109 | AI x Crypto(graphy)",
"url": "<https://ryanocm.substack.com/p/109-ai-x-cryptography>"
},
{
"title": "#108 | How to Love Intentionally \\u2764\\ufe0f",
"url": "<https://ryanocm.substack.com/p/108-how-to-love-intentionally>"
},
{
"title": "#107 | 16 Questions To Better Understand Who You Are \\ud83c\\udfad",
"url": "<https://ryanocm.substack.com/p/107-16-questions-to-better-understand>"
},
{
"title": "#106 | Three Types of Burnouts \\ud83e\\udd15",
"url": "<https://ryanocm.substack.com/p/106-three-types-of-burnouts>"
},
{
"title": "#105 | The Bagel Method in Relationships \\ud83e\\udd6f",
"url": "<https://ryanocm.substack.com/p/105-the-bagel-method-in-relationships>"
},
{
"title": "#104 | The 8 Play Personalities \\ud83c\\udfad",
"url": "<https://ryanocm.substack.com/p/104-the-8-play-personalities>"
},
{
"title": "#103 | The Top Ten Myths About Conflict by Relationship Experts Julie and John Gottman",
"url": "<https://ryanocm.substack.com/p/103-the-top-ten-myths-about-conflict>"
},
{
"title": "#102 | 7 Principles to Writing Well",
"url": "<https://ryanocm.substack.com/p/102-7-principles-to-writing-well>"
},
{
"title": "#101 | How to Remember More from Books",
"url": "<https://ryanocm.substack.com/p/101-how-to-remember-more-from-books>"
}
]
}
Fazit
ScrapeGraphAI vereinfacht und automatisiert Web- und Dokumentenscraping, sodass du Daten schneller und einfacher extrahieren kannst. Dank der Kompatibilität mit verschiedenen LLMs und Dokumentformaten ist es ein vielseitiges Tool für unterschiedlichste Datenaufgaben. Mit ScrapeGraphAI kannst du dich auf die Analyse und Nutzung deiner Daten konzentrieren – statt auf das Sammeln.

Mehr dazu findest du hier:
Nutze ScrapeGraphAI verantwortungsvoll und beachte die Scraping-Regeln der Zielseiten. Halte dich stets an Nutzungsbedingungen und rechtliche Vorgaben.
Verdiene eine Top-KI-Zertifizierung
Ryan ist ein führender Datenwissenschaftler, der sich auf die Entwicklung von KI-Anwendungen mit LLMs spezialisiert hat. Er ist Doktorand für natürliche Sprachverarbeitung und Wissensgraphen am Imperial College London, wo er auch seinen Master in Informatik gemacht hat. Außerhalb der Datenwissenschaft schreibt er einen wöchentlichen Substack-Newsletter, The Limitless Playbook, in dem er eine umsetzbare Idee von den besten Denkern der Welt teilt und gelegentlich über zentrale KI-Konzepte schreibt.
