autonomous_web_reader

import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin, urlparse

def autonomous_web_reader(url):
„““
Dieses Tool liest den Inhalt einer Webseite aus und extrahiert sowohl den Text als auch alle internen Verweise (Hyperlinks).
„““
try:
# 1. Webseite abrufen
headers = {‚User-Agent‘: ‚AI-Agent-Kali-Memory/1.0‘}
response = requests.get(url, headers=headers, timeout=10)

if response.status_code != 200:
return f“Fehler: Webseite nicht erreichbar (Status {response.status_code})“

soup = BeautifulSoup(response.text, ‚html.parser‘)
base_domain = urlparse(url).netloc

# 2. Text-Inhalt bereinigen (Scraping)
for element in soup([„script“, „style“, „footer“, „header“, „nav“]):
element.decompose() # Unwichtigen Code entfernen
clean_text = soup.get_text(separator=‘ ‚, strip=True)[:3000] # Kürzen für Kontextfenster

# 3. Links autonom sammeln (Hypertext-Kanten)
extracted_links = {}
for link in soup.find_all(‚a‘, href=True):
href = link[‚href‘] full_url = urljoin(url, href)
link_text = link.get_text(strip=True)

# Nur interne Links der gleichen Domain sammeln (z.B. haarfluesterer.net)
if urlparse(full_url).netloc == base_domain and link_text:
extracted_links[link_text] = full_url

# 4. Strukturiertes Ergebnis an die KI zurückgeben
return {
„current_page_text“: clean_text,
„available_hyperlinks“: extracted_links
}

except Exception as e:
return f“Schwerwiegender Fehler beim Lesen der URL: {str(e)}“

Schreibe einen Kommentar