Web Scraping mit KI 08.05.2024, 10:54 Uhr

Scrapegraph-ai: Mit einem Prompt ausgewählte Inhalte einer Website laden

Mittels Web Scraping lassen sich Daten von Websites laden. Das Problem dabei: Die Daten sind in einem Berg von HTML vergraben. Eine Python-Bibliothek hilft die Spreu vom Weizen zu trennen - mit Hilfe von Künstlicher Intelligenz.
(Quelle: ScrapeGraphAI)
Für einen Menschen ist sofort klar, wo auf einer Website bestimmte Inhalte stehen. Für ihn wäre es damit ein Leichtes, gewünschte Daten herauszukopieren. Für Software hingegen stellt das eine schwierige Aufgabe dar, sind die Daten doch in einem Berg von HTML vergraben. 
Es gibt viele Bibliotheken, die dabei helfen. Meist muss man dann aber über XPath-Ausdrücke die gewünschten Daten im HTML-Baum identifizieren. 
Scrapegraph-ai geht einen anderen Weg. Die Python-Bibliothek holt die Daten von der Website und bereitet sie wunschgemäß auf. Dabei nimmt sie aber die KI von OpenAI zu Hilfe. So lässt sich zum Beispiel folgende Anfrage formulieren und Scrapegraph-ai übergeben: 
smart_scraper_graph = SmartScraperGraph(
  prompt="List me all the projects with their descriptions.",
  # also accepts a string with the already downloaded HTML code
  source="https://perinim.github.io/projects/",
  config=graph_config
)
Wie der Code zeigt, lässt sich hier einfach ein Prompt in natürlicher Sprache formulieren. Führt man den Code aus, gibt die Bibliothek eine Json-Liste zurück, die die Projekte enthält: 
{
  "projects": [
    {
      "title": "Rotary Pendulum RL",
      "description": "Open Source project aimed at controlling a real life rotary pendulum using RL algorithms"
    },
    {
      "title": "DQN Implementation from scratch",
      "description": "Developed a Deep Q-Network algorithm to train a simple and double pendulum"
    },
    {
      "title": "Multi Agents HAED",
      "description": "University project which focuses on simulating a multi-agent system to perform environment mapping. Agents, equipped with sensors, explore and record their surroundings, considering uncertainties in their readings."
    },
    {
      "title": "Wireless ESC for Modular Drones",
      "description": "Modular drone architecture proposal and proof of concept. The project received maximum grade."
    }
  ]
}
Sie können die Bibliothek online ausprobieren. Allerdings ist ein API-Key von OpenAI nötig und natürlich eine gefüllte Quota-Börse. 


Das könnte Sie auch interessieren