View a markdown version of this page

crawler web - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

crawler web

Il Web Crawler si connette e scansiona gli URL specificati per l'utilizzo nella tua knowledge base gestita. Il Web Crawler attraversa le pagine HTML a partire dagli URL iniziali, seguendo i collegamenti secondari in base all'ambito e ai limiti della scansione. Puoi anche fornire gli URL della mappa del sito come punti di partenza. Il Web Crawler rispetta robots.txt in conformità con RFC 9309. https://www.rfc-editor.org/rfc/rfc9309.html

Importante

Quando selezioni i siti Web da sottoporre a scansione, devi rispettare la Politica di utilizzo accettabile di Amazon e tutti gli altri termini di Amazon. Utilizza il Web Crawler solo per indicizzare le tue pagine Web o le pagine Web di cui sei autorizzato a scansionare.

Nota

Il Web Crawler non supporta il controllo degli accessi a livello di documento (ACL). Tutti i contenuti indicizzati sono accessibili a qualsiasi utente che abbia accesso alla knowledge base. Se hai bisogno del filtro ACL, utilizza un connettore che lo supporti (ad esempio, Amazon S3,, o). SharePoint OneDrive

Funzionalità supportate

  • Esegui la scansione di più URL iniziali e URL di sitemap

  • Profondità di scansione, limite di frequenza e limite di link per URL configurabili

  • Controllo dell'ambito di esplorazione: stesso host e percorso, solo host o host e sottodomini

  • Filtri relativi ai pattern degli URL (espressioni regolari di inclusione ed esclusione)

  • Scansiona gli allegati collegati da pagine Web (PDF, documenti e così via)

  • Autenticazione per siti protetti: di base, basata su moduli o SAML

  • Sincronizzazione incrementale dei contenuti per i contenuti aggiunti, aggiornati ed eliminati

Metodi di autenticazione

Il Web Crawler supporta quattro metodi di autenticazione. Scegliete il metodo che corrisponde al modo in cui il sito di destinazione autentica gli utenti. Per i siti pubblici senza accesso, usa. NO_AUTH

Metodi di autenticazione Web Crawler
Metodo Come si autentica Quando utilizzarlo
Nessuna autenticazione () NO_AUTH Il crawler invia richieste senza credenziali. Siti Web pubblici che non richiedono l'accesso.
Autenticazione di base () BASIC_AUTH Il crawler invia un'Authorization: Basicintestazione HTTP contenente un nome utente e una password provenienti dal tuo account segreto. Siti protetti dall'autenticazione di base HTTP (la finestra di dialogo con nome utente e password in stile browser).
Autenticazione tramite modulo () FORM Il crawler accede inviando un modulo HTML. Fornisci l'URL di accesso, le credenziali e le espressioni XPath che individuano i campi del modulo. Siti che utilizzano un modulo HTML per l'accesso.
Autenticazione SAML () SAML Il crawler accede tramite il modulo di accesso di un provider di identità SAML. Fornisci l'URL di accesso IdP, le credenziali e le espressioni XPath che individuano i campi del modulo. Siti che utilizzano SAML-based il Single Sign-on.

Prerequisiti

Per il sito web che desideri scansionare, assicurati di:

  • Ottieni l'autorizzazione per eseguire la scansione del sito Web e del suo contenuto.

  • Verifica che robots.txt il sito non disabiliti gli URL di cui desideri eseguire la scansione. Per impostazione predefinita, il Web Crawler non consente l'accesso se non viene trovato un file. robots.txt

  • Se il sito richiede l'accesso, identifica il metodo di autenticazione (base, modulo o SAML). Per modulo e SAML, individua le espressioni XPath per il campo nome utente, il campo password e il pulsante di invio nella pagina di accesso. Per trovare un XPath, apri il menu contestuale (clic con il pulsante destro del mouse) per l'elemento del modulo nel browser e scegli Ispeziona, quindi copia XPath dagli strumenti per sviluppatori.

Nel tuo AWS account, assicurati di:

  • Se il tuo sito richiede l'autenticazione, archivia le tue credenziali in modo AWS Secrets Manager segreto e annota il relativo Amazon Resource Name (ARN). Per le coppie esatte chiave-valore, consulta. Credenziali di autenticazione

  • Includi le autorizzazioni necessarie per connetterti alla tua fonte di dati nella tua role/permissions policy AWS Identity and Access Management (IAM) per la tua knowledge base. Per informazioni sulle autorizzazioni richieste, consulta. Autorizzazioni per accedere alle origini dati

Come configurare un'origine dati Web Crawler

La configurazione di un'origine dati Web Crawler prevede i seguenti passaggi:

  1. (Se il sito richiede l'accesso) Prepara le credenziali. Memorizza le credenziali per il tuo metodo di autenticazione in modo AWS Secrets Manager segreto. Per informazioni, consulta Credenziali di autenticazione.

  2. Connetti l'origine dati. Crea l'origine dati del Web Crawler nella knowledge base utilizzando Console di gestione AWS o l'API. Per informazioni, consulta Crea l'origine dati.

Crea l'origine dati

Console
Per connettere il Web Crawler alla tua knowledge base gestita
  1. In Origine dati, fornisci un nome per l'origine dati.

  2. Seleziona Web Crawler dal menu a discesa dell'origine dati.

  3. In Fonte, scegli URL di origine (fino a 10 URL iniziali) o Sitemap di origine (fino a 3 URL di mappa del sito).

  4. Inserisci i tuoi URL nell'area di testo Aggiungi URL, uno per riga.

  5. In Autenticazione, seleziona Nessuna autenticazione, Autenticazione di base, Autenticazione tramite modulo o Autenticazione SAML. Per qualsiasi metodo diverso da Nessuna autenticazione, seleziona o crea un AWS Secrets Manager segreto per archiviare le tue credenziali.

  6. (Facoltativo) Espandi l'ambito di sincronizzazione per impostare la profondità di scansione (0-10), il numero massimo di link per URL (1—1000), il numero massimo di URL scansionati al minuto (1—300) e l'ambito di scansione: predefinito (stesso host e stesso percorso URL iniziale dell'URL iniziale), solo host (stesso host, qualsiasi percorso) o Sottodomini (stesso dominio principale, inclusi i sottodomini).

  7. (Facoltativo) Espandi i modelli di filtro URL per aggiungere espressioni regolari che includono o escludono URL specifici.

API

Per creare un'origine dati Web Crawler, invia una CreateDataSource richiesta con un endpoint build-time di Agents for Amazon Bedrock. L' AWS Command Line Interface esempio seguente crea un'origine dati che esegue la scansione di un sito pubblico senza autenticazione. Per una descrizione di ogni campo, vedere il riferimento ai parametri del connettore che segue.

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

Il webcrawler-managed-connector.json file contiene quanto segue:

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

Per un sito autenticato, imposta authType su BASIC_AUTH FORMSAML, o e aggiungi un secretArn aconnectionConfiguration.

Per le knowledge base gestite, CreateDataSource è asincrono: lo stato dell'origine dati passa da CREATING a AVAILABLE quando l'operazione viene completata.

Parametri dei connettori

La configurazione dell'origine dati utilizza i seguenti parametri del connettore. Per utilizzare il Web Crawler, specificare WEB come tipo di connettore. connectorParameters Per i campi sovrapposti connectorParameters (ad esempio deletionProtectionConfiguration emediaExtractionConfiguration), consulta. Connettere un’origine dati

connectionConfiguration
Campo Richiesto Description
seedUrls Condizionale Elenco degli URL iniziali da cui iniziare la scansione. Massimo di 10. Obbligatorio a meno che non lo fornisci siteMapUrls
siteMapUrls Condizionale Elenco degli URL delle mappe del sito. Massimo 3. Obbligatorio a meno che non venga fornitoseedUrls.
authType Il tipo di autenticazione: NO_AUTHBASIC_AUTH,FORM, oSAML. Per informazioni, consulta Metodi di autenticazione.
secretArn Condizionale L'ARN del AWS Secrets Manager segreto contenente le tue credenziali. Obbligatorio quando non lo authType è. NO_AUTH
Configurazione Crawl (opzionale)
Campo Richiesto Description
crawlDepth No Profondità massima di scansione. Intervallo 0-10. 0esegue la scansione solo degli URL specificati; valori più alti seguono i link più in profondità nel sito. L’impostazione predefinita è 2.
maxLinksPerUrl No Numero massimo di link da seguire per URL. Intervallo 1-1000. L’impostazione predefinita è 100.
maxCrawledUrlsPerMinute No Numero massimo di URL scansionati al minuto (limite di velocità). Intervallo 1-300.
implicitWaitInSeconds No Tempo di attesa, in secondi, dopo che una pagina raggiunge lo stato pronto prima che il crawler la legga. Aumentalo per le pagine con JavaScript contenuti dinamici che vengono caricati dopo il modello principale.
syncScope No L'ambito dei link da seguire. Uno tra PATH_SPECIFIC (stesso host e stesso percorso URL iniziale dell'URL iniziale), DOMAINS_ONLY (stesso host dell'URL iniziale, qualsiasi percorso) o SUB_DOMAINS (stesso dominio primario, inclusi i sottodomini). Se omesso, il crawler esegue la scansione solo dello stesso host e dello stesso percorso URL iniziale dell'URL iniziale.
crawlAttachments No Se eseguire la scansione di file e allegati collegati da pagine Web (come PDF e altri documenti).
Configurazione del filtro (opzionale)
Campo Richiesto Description
inclusionPatterns No Elenco di espressioni regolari. Solo gli URL che corrispondono ad almeno un pattern vengono scansionati e indicizzati.
exclusionPatterns No Elenco di espressioni regolari. Gli URL che corrispondono a qualsiasi modello non vengono scansionati o indicizzati.
maxFileSizeInMegaBytes No Dimensione massima, in megabyte, di ogni singolo file inserito dal crawler. Fornire come stringa numerica (ad esempio,"500"). L’impostazione predefinita è "500".

Credenziali di autenticazione

Se il tuo sito web richiede l'autenticazione, archivia le tue credenziali in modo segreto. AWS Secrets Manager Il formato segreto dipende dal tipo di autenticazione scelto.

Autenticazione di base (BASIC_AUTH)

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

Autenticazione del modulo (FORM)

Per l'autenticazione basata su moduli, fornisci espressioni XPath che identifichino il campo del nome utente, il campo della password e il pulsante di invio nella pagina di accesso.

{ "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']" }

Autenticazione SAML () SAML

Per l'autenticazione SAML, fornisci l'URL della pagina di accesso del provider di identità SAML e le espressioni XPath per i campi del modulo.

{ "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']" }
Nota

Per trovare un XPath nel browser, apri il menu contestuale (clic con il pulsante destro del mouse) per l'elemento del modulo nella pagina di accesso e scegli Ispeziona. Negli strumenti per sviluppatori, aprite il menu contestuale (clic con il pulsante destro del mouse) per l'HTML evidenziato, quindi scegliete Copia, quindi scegliete Copia XPath.

Risoluzione dei problemi

Problemi, cause e correzioni comuni di Web Crawler
Caratteristiche Causa probabile Correggere
La sincronizzazione viene completata correttamente ma viene indicizzato solo l'URL iniziale. I link di navigazione del sito sono collegati tramite gestori di JavaScript eventi (clic, scorrimento, menu dinamici) anziché tramite elementi standard. <a href="..."> Il crawler esegue il rendering JavaScript ma non simula le interazioni degli utenti, quindi non può scoprire quei link. Fornisci URL iniziali aggiuntivi per le pagine che desideri scansionare o fornisci un URL della mappa del sito che elenca tutti gli URL da scansionare. Se i contenuti possono essere esportati come file, valuta invece l'utilizzo del connettore Amazon S3.
La sincronizzazione non restituisce alcun contenuto o un numero di pagine inferiore al previsto. Il robots.txt file del sito non consente gli URL che desideri scansionare o le pagine hanno un noindex meta tag. Aggiorna robots.txt l'host in modo che consenta la scansione dei percorsi da sottoporre a scansione o rimuova il noindex meta tag dalle pagine che desideri indicizzare. Non bloccate la pagina robots.txt se desiderate rilevare anche i meta tag, perché il crawler deve accedere alla pagina per leggere i meta tag.
L'autenticazione non riesce (HTTP 401 o 403, ciclo di reindirizzamento dell'accesso o timeout della sessione). Le credenziali non sono corrette o sono scadute oppure le espressioni XPath non corrispondono agli elementi della pagina di accesso. Verifica le credenziali nel tuo segreto. Per l'FORMSAMLautenticazione, convalida ogni XPath negli strumenti di sviluppo del browser e verifica. loginPageUrl
La sincronizzazione non riesce con limitazione della velocità (HTTP 429) o contenuto incompleto. Il crawler sta recuperando le pagine più velocemente di quanto consentito dal sito. maxCrawledUrlsPerMinuteRiduci o aumenta implicitWaitInSeconds per i siti con contenuti dinamici che vengono caricati dopo che la pagina è pronta.
Le pagine sono mancanti perché sono più grandi del previsto. La pagina o l'allegato supera i limiti. maxFileSizeInMegaBytes Aumenta maxFileSizeInMegaBytes o accetta che i file più grandi del limite non vengano inseriti.