Zum Hauptinhalt springen
Über den Olostep /v1/scrapes Endpunkt kannst du LLM-freundliches Markdown, HTML, Text, Screenshots oder strukturiertes JSON in Echtzeit von jeder URL extrahieren.
  • Gibt sauberes Markdown, strukturierte Daten, Screenshots oder HTML aus
  • Extrahiere JSON durch Parsers oder LLM-Extraktion
  • Verarbeitet dynamische Inhalte: JS-gerenderte Seiten, Login-Flows über Aktionen, PDFs
Für API-Details siehe die Scrape Endpoint API Referenz.

Eine URL scrapen

Verwende den /v1/scrapes Endpunkt, um eine einzelne URL zu scrapen und Ausgabeformate auszuwählen.

Installation

# pip install requests

import requests

Verwendung

Du kannst den Endpunkt verwenden, um eine einzelne URL zu scrapen und Ausgabeformate auszuwählen. Die obligatorischen Parameter sind url_to_scrape und formats. Einige andere häufige Parameter sind wait_before_scraping (in Millisekunden), remove_css_selectors (Standard, keine oder ein Array von Selektoren) und country.
import requests
import json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
    "url_to_scrape": "https://en.wikipedia.org/wiki/Alexander_the_Great",
    "formats": ["markdown", "html"]
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
}

response = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(response.json(), indent=2))

Antwort

Die API gibt ein scrape Objekt als Antwort zurück. Das scrape hat einige Eigenschaften wie id und result. Das result Objekt hat die folgenden Felder (je nach formats Parameter können einige null sein):
  • html_content: der HTML-Inhalt der Seite. Gib formats: ["html"] an, um dies zu erhalten.
  • markdown_content: der MD-Inhalt der Seite. Gib formats: ["markdown"] an, um dies zu erhalten.
  • text_content: der Textinhalt der Seite. Gib formats: ["text"] an, um dies zu erhalten.
  • json_content: der JSON-Inhalt der Seite. Gib formats: ["json"] an, um dies zu erhalten und auch einen parser oder llm_extract Parameter bereitzustellen.
  • screenshot_hosted_url: die gehostete URL des Screenshots.
  • html_hosted_url: die gehostete URL des HTML-Inhalts
  • markdown_hosted_url: die gehostete URL des Markdown-Inhalts
  • json_hosted_url: die gehostete URL des JSON-Inhalts
  • text_hosted_url: die gehostete URL des Textinhalts
  • links_on_page: die Links auf der Seite
  • page_metadata: die Metadaten der Seite
{
  "id": "scrape_6h89o8u1kt",
  "object": "scrape",
  "created": 1745673871,
  "metadata": {},
  "retrieve_id": "6h89o8u1kt",
  "url_to_scrape": "https://en.wikipedia.org/wiki/Alexander_the_Great",
  "result": {
    "html_content": "<html...",
    "markdown_content": "## Alexander the Great...",
    "text_content": null,
    "json_content": null,
    "screenshot_hosted_url": null,
    "html_hosted_url": "https://olostep-storage.s3.us-east-1.amazonaws.com/text_6h89o8u1kt.txt",
    "markdown_hosted_url": "https://olostep-storage.s3.us-east-1.amazonaws.com/markDown_6h89o8u1kt.txt",
    "json_hosted_url": null,
    "text_hosted_url": null,
    "links_on_page": [],
    "page_metadata": { "status_code": 200, "title": "" }
  }
}

Scrape-Formate

Wähle ein oder mehrere Ausgabeformate über formats:
  • markdown: LLM-freundliches Markdown
  • html: bereinigtes HTML
  • text: Klartext
  • json: strukturiertes Ergebnis (über Parser oder llm_extract)
  • raw_pdf: rohe PDF-Bytes extrahiert zur gehosteten URL
  • screenshot: über Aktionen festgelegt, um einen Screenshot aufzunehmen und eine gehostete URL zurückzugeben
Ausgabeschlüssel werden innerhalb von result als *_content Felder und eine *_hosted_url zurückgegeben.

Strukturierte Daten extrahieren

Du kannst strukturiertes JSON auf zwei Arten extrahieren: mit Parsers oder LLM-Extraktion.

Verwendung eines Parsers (empfohlen für Skalierung)

Definiere formats: ["json"] und gib eine Parser id an.
import requests, json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
  "url_to_scrape": "https://www.google.com/search?q=alexander+the+great&gl=us&hl=en",
  "formats": ["json"],
  "parser": { 
    "id": "@olostep/google-search" 
  }
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>", 
    "Content-Type": "application/json"
}

res = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(res.json(), indent=2))
Olostep hat einige vorgefertigte Parser für beliebte Websites, aber du kannst auch deine eigenen Parser über das Dashboard erstellen oder unser Team bitten, dies für dich zu tun. Parser sind selbstheilend und aktualisieren sich selbst auf die neueste Version der Website.

Verwendung der LLM-Extraktion (Schema und/oder Prompt)

Gib llm_extract mit einem JSON-Schema (schema) und/oder einer natürlichen Sprachinstruktion (prompt) an. Du kannst beide Parameter übergeben, aber wenn beide angegeben sind, hat schema Vorrang. Wenn du stattdessen nur einen prompt übergibst, wird das LLM die Daten basierend auf dem Prompt extrahieren und die Datenstruktur selbst bestimmen.
import requests, json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
  "url_to_scrape": "https://www.berklee.edu/events/stefano-marchese-friends",
  "formats": ["markdown", "json"],
  "llm_extract": {
    "schema": {
      "event": {
        "type": "object",
        "properties": {
          "title": {"type": "string"},
          "date": {"type": "string"},
          "description": {"type": "string"},
          "venue": {"type": "string"},
          "address": {"type": "string"},
          "start_time": {"type": "string"}
        }
      }
    }
  }
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
}
res = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(res.json(), indent=2))
Hinweis: result.json_content gibt ein stringifiziertes JSON zurück. Parsen es in deinem Code, wenn du ein Objekt benötigst.

Interaktion mit der Seite durch Aktionen

Führe Aktionen vor dem Scrapen aus, um mit dynamischen Seiten zu interagieren. Unterstützte Aktionen:
  • wait mit milliseconds
  • click mit selector
  • fill_input mit selector und value
  • scroll mit direction und amount
Es ist oft nützlich, wait vor/nach anderen Aktionen zu verwenden, um der Seite Zeit zum Laden zu geben.

Beispiel

import requests, json

endpoint = "https://api.olostep.com/v1/scrapes"
payload = {
  "url_to_scrape": "https://example.com/login",
  "formats": ["markdown"],
  "actions": [
    {"type": "fill_input", "selector": "input[type=email]", "value": "john@example.com"},
    {"type": "wait", "milliseconds": 500},
    {"type": "fill_input", "selector": "input[type=password]", "value": "secret"},
    {"type": "click", "selector": "button[type=\"submit\"]"},
    {"type": "wait", "milliseconds": 1500}
  ]
}
headers = {
    "Authorization": "Bearer <YOUR_API_KEY>", 
    "Content-Type": "application/json"
}
res = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(res.json(), indent=2))
Die Antwort wird alle angeforderten Formate enthalten (z.B. markdown_content).

Anwendungsfälle

Im Folgenden sind einige praktische Anwendungen von Kunden aufgeführt, die den /scrapes Endpunkt verwenden.

Inhaltsanalyse & Forschung

  • Wettbewerbsanalyse: Extrahiere Produktdetails, Preise und Funktionen von Wettbewerber-Websites
  • Marktforschung: Analysiere Landing Pages, Produktbeschreibungen und Kundenreferenzen
  • Akademische Forschung: Sammle spezifische Daten aus wissenschaftlichen Publikationen oder Forschungsportalen
  • Rechtsdokumentation: Extrahiere Fallstudien, Vorschriften oder rechtliche Präzedenzfälle von offiziellen Websites

E-Commerce & Einzelhandel

  • Dynamische Preisstrategien: Erhalte Echtzeit-Produktpreise von konkurrierenden Geschäften
  • Produktinformationsmanagement: Extrahiere detaillierte Spezifikationen und Beschreibungen
  • Bestandsüberwachung: Überprüfe die Produktverfügbarkeit bei anderen Einzelhändlern
  • Rezensionsanalyse: Sammle Verbraucherfeedback und -stimmung für bestimmte Produkte

Marketing & Inhaltserstellung

  • Inhaltskuratierung: Extrahiere relevante Artikel und Blogbeiträge für Newsletter
  • SEO-Analyse: Untersuche die Keyword-Nutzung, Meta-Beschreibungen und Seitenstruktur von Wettbewerbern
  • Lead-Generierung: Extrahiere Kontaktinformationen aus Unternehmensverzeichnissen oder Firmenwebseiten
  • Influencer-Forschung: Sammle Engagement-Metriken und Inhaltsstile von Influencer-Profilen
  • Personalisierte Social-Media-Generierung: Erstelle KI-gesteuertes Social-Media-Marketing durch Analyse von Kundenwebsites

Datenanwendungen

  • AI-Trainingsdatensammlung: Sammle spezifische Beispiele für maschinelle Lernmodelle
  • Erstellung einer benutzerdefinierten Wissensbasis: Extrahiere Dokumentationen oder Anleitungen von Softwareseiten
  • Historische Datenarchive: Bewahre Website-Inhalte zu bestimmten Zeitpunkten auf
  • Strukturierte Datenauswertung: Transformiere Webinhalte in formatierte Datensätze zur Analyse

Überwachung & Benachrichtigungen

  • Überwachung der Einhaltung von Vorschriften: Verfolge Änderungen auf rechtlichen oder regulatorischen Websites
  • Krisenmanagement: Überwache Nachrichtenseiten auf Erwähnungen bestimmter Ereignisse oder Organisationen
  • Ereignisverfolgung: Extrahiere Details zu bevorstehenden Veranstaltungen von Veranstaltungsorten oder Organisatoren-Websites
  • Überwachung des Dienststatus: Überprüfe Dienststatusseiten für bestimmte Plattformen oder Tools

Veröffentlichung & Medien

  • Nachrichtenaggregation: Extrahiere aktuelle Nachrichten aus offiziellen Quellen
  • Medienüberwachung: Verfolge spezifische Themen auf Nachrichtenseiten
  • Inhaltsverifizierung: Extrahiere Informationen, um Behauptungen oder Aussagen zu überprüfen
  • Multimedia-Extraktion: Sammle eingebettete Videos, Bilder oder Audiodateien für Medienbibliotheken

Finanzanwendungen

  • Investmentforschung: Extrahiere Finanzberichte oder Jahresberichte von Unternehmenswebsites
  • Wirtschaftsindikatoren: Sammle Wirtschaftsdaten von Regierungs- oder Finanzinstitutions-Websites
  • Kryptowährungsdaten: Extrahiere Echtzeit-Preise und Marktkapitalisierungsinformationen
  • Finanznachrichtenanalyse: Überwache Finanznachrichtenseiten auf spezifische Marktsignale

Technische Anwendungen

  • API-Dokumentationsextraktion: Sammle technische Dokumentationen zur Referenz
  • Integrationstests: Extrahiere Website-Elemente, um Drittanbieter-Integrationen zu überprüfen
  • Barrierefreiheitstests: Analysiere die Website-Struktur auf Einhaltung von Barrierefreiheitsstandards
  • Erstellung von Webarchiven: Erfasse vollständige Website-Inhalte zur historischen Bewahrung

Integrationsszenarien

  • CRM-Systeme: Ergänze Kundenprofile mit Daten von Unternehmenswebsites oder LinkedIn
  • Content-Management-Systeme: Importiere relevante externe Inhalte
  • Business-Intelligence-Tools: Ergänze interne Daten mit externen Marktinformationen
  • Projektmanagement-Software: Extrahiere Spezifikationen oder Anforderungen von Kundenwebsites
  • Benutzerdefinierte Dashboards: Zeige extrahierte Daten neben internen Metriken an

Preisgestaltung

Scrape kostet standardmäßig 1 Credit. Wenn du auch parsers verwendest, variieren die Kosten je nach Parser (1-5 Credits). Wenn du LLM extract verwendest, kostet es 20 Credits.