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 untergeordneten Links, je nach Umfang und Einschränkungen Ihres Crawls. 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 Acceptable Use Policy und alle anderen Amazon-Bedingungen einhalten. Verwenden Sie den Web Crawler nur, um Ihre eigenen Webseiten oder Webseiten, zu deren Crawlen Sie berechtigt sind, zu indizieren.

Anmerkung

Der Web Crawler unterstützt keine Zugriffskontrolle auf Dokumentebene (ACLs). Alle indizierten 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

  • Crawlen Sie mehrere Seed-URLs und Sitemap-URLs

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

  • Steuerung des Crawling-Bereichs: derselbe Host und Pfad, nur Host oder Host und Subdomains

  • URL-Musterfilter (reguläre Ausdrücke für Inklusion und Ausschluss)

  • Durchforsten Sie Anlagen, die von Webseiten aus 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 Art und Weise entspricht, wie die Zielwebsite Benutzer authentifiziert. Verwenden Sie für öffentliche Websites ohne Anmeldung. NO_AUTH

Web Crawler-Authentifizierungsmethoden
Methode Wie authentifiziert es sich 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 die HTTP-Basisauthentifizierung geschützt sind (das Dialogfeld für Benutzernamen und Passwort im Browserstil).
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, sicher, dass Sie:

  • Du musst die Erlaubnis haben, die Website und ihren Inhalt zu crawlen.

  • Vergewissern Sie robots.txt sich, dass die Website die URLs, die Sie crawlen möchten, nicht verbietet. Der Web Crawler verbietet dies standardmäßig, wenn eine robots.txt Datei nicht gefunden wird.

  • Wenn für die Site eine Anmeldung erforderlich ist, geben Sie die Authentifizierungsmethode an (Basic, Form oder SAML). Suchen Sie für Formular und SAML auf der Anmeldeseite nach den XPath-Ausdrücken für das Benutzernamenfeld, das Passwortfeld und die Schaltfläche „Senden“. Um einen XPath zu finden, öffnen Sie das Kontextmenü (Rechtsklick) für das Formularelement in Ihrem Browser, wählen Sie Inspect aus und 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. (Wenn für Ihre Site eine Anmeldung erforderlich ist) Bereiten Sie die Anmeldeinformationen vor. Speichern Sie die Anmeldeinformationen für Ihre Authentifizierungsmethode in einem AWS Secrets Manager Geheimnis. Siehe Anmeldeinformationen für die Authentifizierung.

  2. Verbinden Sie die Datenquelle. 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 dem Drop-down-Menü für die Datenquelle aus.

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

  4. Gib deine URLs in den Textbereich „URLs hinzufügen“ ein, eine pro Zeile.

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

  6. (Optional) Erweitern Sie den Sync-Bereich, 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 Crawling-Bereich festzulegen: Standard (derselbe Host und derselbe anfängliche URL-Pfad wie die Seed-URL), Nur Host (gleicher Host, beliebiger Pfad) oder Subdomains (dieselbe Hauptdomain, einschließlich Subdomains).

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

API

Um eine Web Crawler-Datenquelle zu erstellen, senden Sie eine CreateDataSource Anfrage an einen 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 folgenden Referenz zu den Connector-Parametern.

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/.*" ] } } } }

Setzen Sie für eine authentifizierte Site authType aufBASIC_AUTH, oder FORMSAML, und fügen Sie ein secretArn bis connectionConfiguration hinzu.

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

Connector-Parameter

Die Datenquellenkonfiguration verwendet die folgenden Connector-Parameter. Um den Web Crawler zu verwenden, geben Sie WEB als Connector Folgendes ein. connectorParameters Informationen zu Feldern, die umgebrochen werden 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, es sei denn, Sie geben anseedUrls.
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, authType wenn nichtNO_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 Website hinein führen. Standardeinstellung: 2.
maxLinksPerUrl Nein Maximale Anzahl an Links, denen pro URL gefolgt werden kann. Bereich 1—1000. Standardeinstellung: 100.
maxCrawledUrlsPerMinute Nein Maximale Anzahl gecrawlter URLs pro Minute (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 dynamischen JavaScript Inhalten, die nach der Hauptvorlage geladen werden.
syncScope Nein Der Umfang der Links, denen Sie folgen sollten. Entweder 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 dieser Wert weggelassen wird, crawlt der Crawler nur denselben Host und denselben anfänglichen URL-Pfad wie die Seed-URL.
crawlAttachments Nein Ob Dateien und Anlagen, die von Webseiten verlinkt sind (z. B. PDF-Dateien und andere Dokumente), gecrawlt werden sollen.
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 Muster entsprechen, werden nicht gecrawlt oder indexiert.
maxFileSizeInMegaBytes Nein Maximale Größe in Megabyte jeder einzelnen Datei, die der Crawler aufnimmt. Geben Sie 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)

Stellen Sie für die formularbasierte Authentifizierung XPath-Ausdrücke bereit, die das Benutzernamenfeld, das Passwortfeld und die Absenden-Schaltfläche 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 einen XPath in Ihrem Browser zu finden, öffnen Sie das Kontextmenü (Rechtsklick) für das Formularelement auf der Anmeldeseite und wählen Sie Inspect. Öffnen Sie in den Entwicklertools das Kontextmenü (Rechtsklick) für den markierten HTML-Code, wählen Sie dann Kopieren und anschließend XPath kopieren.

Fehlerbehebung

Häufige Probleme, Ursachen und Problembehebungen beim Web Crawler
Symptom Wahrscheinliche Ursache Reparieren
Die Synchronisierung wurde erfolgreich abgeschlossen, aber nur die Seed-URL ist indexiert. Links zur Seitennavigation werden nicht über <a href="..."> Standardelemente, sondern über JavaScript Event-Handler (Klicken, Scrollen, dynamische Menüs) verknüpft. Der Crawler rendert, simuliert JavaScript jedoch keine Benutzerinteraktionen, sodass er diese Links nicht erkennen kann. Geben Sie zusätzliche Seed-URLs für die Seiten an, die Sie crawlen möchten, oder stellen Sie eine Sitemap-URL bereit, die alle zu crawlenden URLs auflistet. Wenn Inhalte als Dateien exportiert werden können, sollten Sie stattdessen den Amazon S3-Connector verwenden.
Sync 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. Aktualisiere das Update robots.txt für den Host, sodass er die Pfade zulässt, die du crawlen möchtest, oder entferne das noindex Metatag von Seiten, die du indexieren möchtest. Blockiere die Seite nicht, robots.txt wenn du auch die Erkennung von Metatags möchtest, da der Crawler auf die Seite zugreifen muss, um die Metatags zu lesen.
Die Authentifizierung schlägt fehl (HTTP 401 oder 403, Login-Redirect-Loop 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 Secret. Für FORM oder SAML Auth validieren Sie jeden XPath in den Entwicklertools Ihres Browsers und verifizieren Sie ihn. loginPageUrl
Die Synchronisierung schlägt mit Ratenbegrenzung (HTTP 429) oder unvollständigem Inhalt fehl. Der Crawler ruft Seiten schneller ab, als es die Website zulässt. Niedriger maxCrawledUrlsPerMinute Wert oder Anstieg implicitWaitInSeconds bei 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 ist größermaxFileSizeInMegaBytes. Erhöhen Sie den WertmaxFileSizeInMegaBytes, oder akzeptieren Sie, dass Dateien, die den Grenzwert überschreiten, nicht aufgenommen werden.