View a markdown version of this page

Webcrawler - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Webcrawler

Der Web Crawler stellt eine Verbindung zu URLs her, die Sie zur Verwendung in Ihrer verwalteten Wissensdatenbank angeben, und crawlt diese. Der Web Crawler durchsucht HTML-Seiten ausgehend von Ihren Seed-URLs und folgt dabei entsprechend Ihrem Crawling-Umfang und Ihren Einschränkungen den untergeordneten Links. Sie können auch Sitemap-URLs als Startpunkte angeben. Der Web Crawler respektiert robots.txt gemäß RFC 9309.

Wichtig

Wenn Sie Websites zum Crawlen auswählen, müssen Sie die Amazon-Nutzungsbedingungen und alle anderen Nutzungsbedingungen von Amazon einhalten. Verwenden Sie den Web Crawler nur, um Ihre eigenen Webseiten oder Webseiten zu indexieren, für deren Crawling Sie autorisiert sind.

Anmerkung

Der Web Crawler unterstützt keine Zugriffskontrolle auf Dokumentebene (ACLs). Alle indexierten Inhalte sind für jeden Benutzer zugänglich, der Zugriff auf die Wissensdatenbank hat. Wenn Sie ACL-Filterung benötigen, verwenden Sie einen Connector, der dies unterstützt (z. B. Amazon S3 SharePoint,, oder OneDrive).

Unterstützte Features

  • Crawlt mehrere Seed-URLs und Sitemap-URLs

  • Konfigurierbare Crawl-Tiefe, Ratenlimit und Limit für Links pro URL

  • Kontrolle des Crawling-Bereichs: derselbe Host und Pfad, nur Host oder Host und Subdomänen

  • URL-Musterfilter (reguläre Ausdrücke zum Ein- und Ausschließen)

  • Crawlt Anlagen, die von Webseiten verlinkt sind (PDFs, Dokumente usw.)

  • Authentifizierung für geschützte Websites: einfach, formularbasiert oder SAML

  • Inkrementelle Inhaltssynchronisierung für hinzugefügte, aktualisierte und gelöschte Inhalte

Authentifizierungsmethoden

Der Web Crawler unterstützt vier Authentifizierungsmethoden. Wählen Sie die Methode, die der Benutzerauthentifizierung auf der Zielwebsite entspricht. Verwenden Sie für öffentliche Websites ohne Anmeldung. NO_AUTH

Web Crawler-Authentifizierungsmethoden
Methode Wie authentifiziert es Wann sollte dies verwendet werden?
Keine Authentifizierung () NO_AUTH Der Crawler sendet Anfragen ohne Anmeldeinformationen. Öffentliche Websites, für die keine Anmeldung erforderlich ist.
Standardauthentifizierung () BASIC_AUTH Der Crawler sendet einen Authorization: Basic HTTP-Header mit einem Benutzernamen und einem Passwort aus Ihrem Secret. Websites, die durch HTTP Basic Authentication (das Dialogfeld mit Benutzernamen und Passwort im Browser-Stil) geschützt sind.
Formularauthentifizierung () FORM Der Crawler meldet sich an, indem er ein HTML-Formular absendet. Sie geben die Anmelde-URL, die Anmeldeinformationen und die XPath-Ausdrücke an, die die Formularfelder lokalisieren. Websites, die ein HTML-Formular für die Anmeldung verwenden.
SAML-Authentifizierung () SAML Der Crawler meldet sich über das Anmeldeformular eines SAML-Identitätsanbieters an. Sie geben die IdP-Anmelde-URL, die Anmeldeinformationen und die XPath-Ausdrücke an, die die Formularfelder lokalisieren. Websites, die SAML-based Single Sign-On verwenden.

Voraussetzungen

Stellen Sie für die Website, die Sie crawlen möchten, Folgendes sicher:

  • Besitzen Sie die Erlaubnis, die Website und ihren Inhalt zu crawlen.

  • Vergewissern Sie sich, dass robots.txt für die Website die URLs, die Sie crawlen möchten, nicht gesperrt sind. Wenn eine Datei nicht gefunden wird, verbietet der Web Crawler standardmäßig den Zugriff. robots.txt

  • Wenn für die Site eine Anmeldung erforderlich ist, identifizieren Sie die Authentifizierungsmethode (Basic, Form oder SAML). Suchen Sie für Formular und SAML die XPath-Ausdrücke für das Benutzernamenfeld, das Passwortfeld und die Schaltfläche „Senden“ auf der Anmeldeseite. Um einen XPath zu finden, klicken Sie in Ihrem Browser mit der rechten Maustaste auf das Formularelement und wählen Sie Inspect. Kopieren Sie dann den XPath aus den Entwicklertools.

Stellen Sie in Ihrem AWS Konto sicher, dass Sie:

Wie richte ich eine Web Crawler-Datenquelle ein

Das Einrichten einer Web Crawler-Datenquelle umfasst die folgenden Schritte:

  1. (Falls für Ihre Site eine Anmeldung erforderlich ist) Bereiten Sie die Anmeldeinformationen vor. Speichern Sie die Anmeldeinformationen für Ihre Authentifizierungsmethode AWS Secrets Manager geheim. Siehe Anmeldeinformationen für die Authentifizierung.

  2. Connect zur Datenquelle her. Erstellen Sie die Web Crawler-Datenquelle in der Wissensdatenbank mithilfe der AWS-Managementkonsole oder der API. Siehe Erstellen Sie die Datenquelle.

Erstellen Sie die Datenquelle

Console
Um den Web Crawler mit Ihrer verwalteten Wissensdatenbank zu verbinden
  1. Geben Sie unter Datenquelle einen Namen für Ihre Datenquelle ein.

  2. Wählen Sie Web Crawler aus der Dropdownliste für die Datenquelle aus.

  3. Wählen Sie unter Quelle die Option Quell-URLs (bis zu 10 Startpunkt-URLs) oder Quell-Sitemaps (bis zu 3 Sitemap-URLs) aus.

  4. Geben Sie Ihre URLs in den Textbereich „URLs hinzufügen“ ein, eine pro Zeile.

  5. Wählen Sie unter Authentifizierung die Option Keine Authentifizierung, Standardauthentifizierung, Formularauthentifizierung oder SAML-Authentifizierung aus. Wählen Sie für jede andere Methode als Keine Authentifizierung ein AWS Secrets Manager Geheimnis aus, um Ihre Anmeldeinformationen zu speichern, oder erstellen Sie ein solches.

  6. (Optional) Erweitern Sie den Synchronisierungsbereich, um die Crawl-Tiefe (0—10), die maximale Anzahl an Links pro URL (1—1000), die maximale Anzahl der pro Minute gecrawlten URLs (1—300) und den Crawlbereich festzulegen: Standard (derselbe Host und derselbe ursprüngliche URL-Pfad wie die Seed-URL), Nur Host (derselbe Host, beliebiger Pfad) oder Subdomains (dieselbe primäre Domain, einschließlich Subdomains).

  7. (Optional) Erweitern Sie URL-Filtermuster, um reguläre Ausdrücke hinzuzufügen, die bestimmte URLs einschließen oder ausschließen.

API

Um eine Web Crawler-Datenquelle zu erstellen, senden Sie eine CreateDataSourceAnfrage mit einem Build-Time-Endpunkt von Agents for Amazon Bedrock. Im folgenden AWS Command Line Interface Beispiel wird eine Datenquelle erstellt, die eine öffentliche Website ohne Authentifizierung crawlt. Eine Beschreibung der einzelnen Felder finden Sie in der nachfolgenden Referenz zu den Konnektorparametern.

aws bedrock-agent create-data-source \ --name "WebCrawler-connector" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://webcrawler-managed-connector.json

Die webcrawler-managed-connector.json Datei enthält Folgendes:

{ "type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR", "managedKnowledgeBaseConnectorConfiguration": { "connectorParameters": { "type": "WEB", "version": "1", "connectionConfiguration": { "seedUrls": [ "https://docs.example.com" ], "authType": "NO_AUTH" }, "crawlConfiguration": { "crawlDepth": 3, "maxLinksPerUrl": 100, "maxCrawledUrlsPerMinute": 50, "syncScope": "SUB_DOMAINS", "crawlAttachments": true }, "filterConfiguration": { "exclusionPatterns": [ "https://docs.example.com/private/.*" ] } } } }

Legen Sie für eine authentifizierte Site authType den Wert auf BASIC_AUTH FORMSAML, oder fest und fügen Sie ein secretArn bis connectionConfiguration hinzu.

Bei verwalteten Wissensdatenbanken CreateDataSource erfolgt der Vorgang asynchron: Der Status der Datenquelle wechselt von CREATING zu, AVAILABLE wenn der Vorgang abgeschlossen ist.

Connector-Parameter

Die Datenquellenkonfiguration verwendet die folgenden Konnektorparameter. Um den Web Crawler zu verwenden, geben Sie WEB als Konnektortyp in connectorParameters an. Informationen zu Feldern, die umbrechen connectorParameters (z. B. deletionProtectionConfiguration undmediaExtractionConfiguration), finden Sie unterVerbinden einer Datenquelle.

connectionConfiguration
Feld Erforderlich Description
seedUrls Bedingt Liste der Seed-URLs, von denen aus das Crawlen gestartet werden soll. Maximal 10 Erforderlich, sofern Sie nichts angebensiteMapUrls.
siteMapUrls Bedingt Liste der Sitemap-URLs. Maximal 3. Erforderlich, sofern Sie nichts angebenseedUrls.
authType Ja Der Authentifizierungstyp: NO_AUTHBASIC_AUTH,FORM, oderSAML. Siehe Authentifizierungsmethoden.
secretArn Bedingt Der ARN des AWS Secrets Manager Geheimnisses, das Ihre Anmeldeinformationen enthält. Erforderlich, wenn dies nicht authType der Fall istNO_AUTH.
CrawlConfiguration (optional)
Feld Erforderlich Description
crawlDepth Nein Maximale Crawl-Tiefe. Bereich 0—10. 0crawlt nur die angegebenen URLs. Höhere Werte folgen Links, die tiefer in die Site eindringen. Standardeinstellung: 2.
maxLinksPerUrl Nein Maximale Anzahl von Links, denen pro URL gefolgt werden kann. Bereich 1—1000. Standardeinstellung: 100.
maxCrawledUrlsPerMinute Nein Maximale Anzahl von URLs, die pro Minute gecrawlt werden (Ratenlimit). Bereich 1—300.
implicitWaitInSeconds Nein Wartezeit in Sekunden, nachdem eine Seite den Bereitschaftsstatus erreicht hat, bevor der Crawler sie liest. Erhöhen Sie diesen Wert für Seiten mit dynamischem JavaScript Inhalt, der nach der Hauptvorlage geladen wird.
syncScope Nein Der Umfang der Links, denen Sie folgen werden. Einer von PATH_SPECIFIC (derselbe Host und derselbe ursprüngliche URL-Pfad wie die Seed-URL), DOMAINS_ONLY (derselbe Host wie die Seed-URL, beliebiger Pfad) oder SUB_DOMAINS (dieselbe primäre Domain, einschließlich Subdomains). Wenn nicht angegeben, crawlt der Crawler nur denselben Host und denselben ursprünglichen URL-Pfad wie die Seed-URL.
crawlAttachments Nein Gibt an, ob Dateien und Anlagen gecrawlt werden sollen, die von Webseiten aus verlinkt sind (z. B. PDF-Dateien und andere Dokumente).
Filterkonfiguration (optional)
Feld Erforderlich Description
inclusionPatterns Nein Liste regulärer Ausdrücke. Nur URLs, die mindestens einem Muster entsprechen, werden gecrawlt und indexiert.
exclusionPatterns Nein Liste regulärer Ausdrücke. URLs, die einem beliebigen Muster entsprechen, werden nicht gecrawlt oder indexiert.
maxFileSizeInMegaBytes Nein Maximale Größe jeder einzelnen Datei, die der Crawler aufnimmt, in Megabyte. Geben Sie es als numerische Zeichenfolge an (z. B.). "500" Standardeinstellung: "500".

Anmeldeinformationen für die Authentifizierung

Wenn für Ihre Website eine Authentifizierung erforderlich ist, speichern Sie Ihre Anmeldeinformationen AWS Secrets Manager geheim. Das geheime Format hängt vom ausgewählten Authentifizierungstyp ab.

Standardauthentifizierung (BASIC_AUTH)

{ "userName": "your-username", "password": "your-password", "authentication": "BASIC_AUTH" }

Formularauthentifizierung (FORM)

Geben Sie für die formularbasierte Authentifizierung XPath-Ausdrücke an, die das Benutzernamenfeld, das Passwortfeld und die Schaltfläche „Senden“ auf der Anmeldeseite identifizieren.

{ "authentication": "FORM", "loginPageUrl": "https://example.com/login", "userName": "your-username", "password": "your-password", "userNameFieldXpath": "//input[@name='username']", "passwordFieldXpath": "//input[@name='password']", "userNameButtonXpath": "//button[@type='submit']", "passwordButtonXpath": "//button[@type='submit']" }

SAML-Authentifizierung () SAML

Geben Sie für die SAML-Authentifizierung die URL der Anmeldeseite des SAML-Identitätsanbieters und die XPath-Ausdrücke für die Formularfelder an.

{ "authentication": "SAML", "loginPageUrl": "https://your-idp.example.com/login", "userName": "your-username", "password": "your-password", "userNameFieldXpath": "//input[@name='username']", "passwordFieldXpath": "//input[@name='password']", "userNameButtonXpath": "//button[@type='submit']", "passwordButtonXpath": "//button[@type='submit']" }
Anmerkung

Um in Ihrem Browser nach einem XPath zu suchen, klicken Sie mit der rechten Maustaste auf das Formularelement auf der Anmeldeseite und wählen Sie Inspect. Klicken Sie in den Entwicklertools mit der rechten Maustaste auf den markierten HTML-Code, wählen Sie Kopieren und dann XPath kopieren aus.

Fehlerbehebung

Häufig auftretende Probleme, Ursachen und Lösungen mit dem Web Crawler
Symptom Wahrscheinliche Ursache Reparieren
Die Synchronisierung wurde erfolgreich abgeschlossen, aber nur die Seed-URL wird indexiert. Links zur Seitennavigation werden nicht über <a href="..."> Standardelemente, sondern über JavaScript Event-Handler (Klicken, Scrollen, dynamische Menüs) übertragen. Der Crawler rendert Benutzerinteraktionen, simuliert sie JavaScript jedoch nicht, sodass er diese Links nicht erkennen kann. Geben Sie zusätzliche Seed-URLs für die Seiten an, die Sie crawlen möchten, oder geben Sie eine Sitemap-URL an, die alle zu crawlenden URLs auflistet. Wenn Inhalte als Dateien exportiert werden können, sollten Sie stattdessen den Amazon S3 S3-Connector verwenden.
Die Synchronisierung gibt keinen Inhalt oder weniger Seiten als erwartet zurück. In der robots.txt Datei der Website sind die URLs, die Sie crawlen möchten, nicht zulässig, oder Seiten haben ein noindex Metatag. Aktualisieren Sie robots.txt für den Host, sodass er die Pfade zulässt, die Sie crawlen möchten, oder entfernen Sie das noindex Metatag von Seiten, die Sie indexieren möchten. Blockieren Sie die Seite nicht, robots.txt wenn Sie auch Metatags erkennen möchten, da der Crawler auf die Seite zugreifen muss, um Metatags zu lesen.
Die Authentifizierung schlägt fehl (HTTP 401 oder 403, Anmelde-Umleitungsschleife oder Sitzungs-Timeout). Die Anmeldeinformationen sind falsch oder abgelaufen, oder die XPath-Ausdrücke stimmen nicht mit den Elementen der Anmeldeseite überein. Überprüfen Sie die Anmeldeinformationen in Ihrem Geheimen. Für FORM oder SAML Auth validieren Sie jeden XPath in den Entwicklertools Ihres Browsers und verifizieren Sie ihn. loginPageUrl
Die Synchronisierung schlägt bei einer Ratenbegrenzung (HTTP 429) oder unvollständigem Inhalt fehl. Der Crawler ruft Seiten schneller ab, als es die Website zulässt. Niedriger maxCrawledUrlsPerMinute oder höher implicitWaitInSeconds für Websites mit dynamischen Inhalten, die geladen werden, nachdem die Seite fertig ist.
Seiten fehlen, weil sie größer als erwartet sind. Die Seite oder der Anhang überschreitet den WertmaxFileSizeInMegaBytes. Erhöhen maxFileSizeInMegaBytes Sie die Anzahl oder akzeptieren Sie, dass Dateien, die das Limit überschreiten, nicht aufgenommen werden.