

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
<a name="kb-managed-ds-webcrawler"></a>

Il Web Crawler si connette e esegue la scansione degli URL specificati per l'utilizzo nella tua knowledge base gestita. Il web crawler attraversa le pagine HTML a partire dagli URL iniziali, seguendo i link 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 [Amazon Acceptable Use Policy](https://aws.amazon.com/aup/) e tutti gli altri termini di Amazon. Utilizza il Web Crawler solo per indicizzare le tue pagine Web o le pagine Web per le quali disponi dell'autorizzazione alla scansione.

**Nota**  
Il Web Crawler non supporta il controllo degli accessi a livello di documento (ACL). Tutto il contenuto indicizzato è accessibile a qualsiasi utente che abbia accesso alla knowledge base. Se hai bisogno di un filtro ACL, usa un connettore che lo supporti (ad esempio, Amazon S3 SharePoint o). OneDrive

## Funzionalità supportate
<a name="kb-managed-supported-features-webcrawler"></a>
+ Esegui la scansione di più URL iniziali e URL della mappa del sito
+ Profondità di scansione, limite di velocità e limite di link per URL configurabili
+ Controllo dell'ambito di scansione: stesso host e percorso, solo host o host e sottodomini
+ Filtri con pattern URL (espressioni regolari di inclusione ed esclusione)
+ Esegui la scansione degli 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 contenuti aggiunti, aggiornati ed eliminati

## Metodi di autenticazione
<a name="kb-managed-webcrawler-auth-methods"></a>

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 utilizzare | 
| --- | --- | --- | 
| 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 con un nome utente e una password 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 localizzano i campi del modulo. | Siti che utilizzano un modulo HTML per l'accesso. | 
| Autenticazione SAML () SAML | Il crawler accede tramite il modulo di accesso del provider di identità SAML. Fornisci l'URL di accesso IdP, le credenziali e le espressioni XPath che localizzano i campi del modulo. | Siti che utilizzano SAML-based il Single Sign-On. | 

## Prerequisiti
<a name="kb-managed-prereqs-webcrawler"></a>

**Per il sito web che vuoi sottoporre a scansione, assicurati** di:
+ Hai il permesso di eseguire la scansione del sito Web e del suo contenuto.
+ Verifica che `robots.txt` per il sito non siano consentiti 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 (basic, form o SAML). Per form e SAML, individua le espressioni XPath per il campo del nome utente, il campo della password e il pulsante di invio nella pagina di accesso. Per trovare un XPath, fai clic con il pulsante destro del mouse sull'elemento del modulo nel browser e scegli **Inspect**, quindi copia l'XPath dagli strumenti di sviluppo.

**Nel tuo AWS account, assicurati** di:
+ Se il tuo sito richiede l'autenticazione, archivia le tue credenziali in un luogo [Gestione dei segreti AWS segreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) e annota il relativo Amazon Resource Name (ARN). Per le coppie chiave-valore esatte, consulta. [Credenziali di autenticazione](#kb-managed-webcrawler-credentials)
+ 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](kb-permissions.md#kb-permissions-access-ds)

## Come configurare un'origine dati del Web Crawler
<a name="kb-managed-webcrawler-workflow"></a>

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

1. **(Se il sito richiede l'accesso) Prepara le credenziali.** Archivia le credenziali per il tuo metodo di autenticazione in un luogo segreto. Gestione dei segreti AWS Per informazioni, consulta [Credenziali di autenticazione](#kb-managed-webcrawler-credentials).

1. **Connect la fonte di dati.** Crea l'origine dati del Web Crawler nella knowledge base utilizzando Console di gestione AWS o l'API. Per informazioni, consulta [Crea la fonte di dati](#kb-managed-ds-webcrawler-create).

## Crea la fonte di dati
<a name="kb-managed-ds-webcrawler-create"></a>

------
#### [ Console ]

**Per connettere il Web Crawler alla tua knowledge base gestita**

1. In **Origine dati**, fornisci un nome per la tua origine dati.

1. Seleziona **Web Crawler** dal menu a discesa della fonte di dati.

1. In **Sorgente**, scegli **URL di origine (fino a 10 URL** di punto di partenza) o **Sitemap di origine (fino a 3 URL di mappa del sito**).

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

1. 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 Gestione dei segreti AWS segreto per memorizzare le tue credenziali.

1. (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 sottoposti a scansione 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 primario, inclusi i sottodomini).

1. (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](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)richiesta a un endpoint in fase di costruzione 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, consultate 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 su `authType` `BASIC_AUTH` `FORM``SAML`, o e aggiungi un `secretArn` a`connectionConfiguration`.

Per le knowledge base gestite, `CreateDataSource` è asincrono: lo stato dell'origine dati passa dal `CREATING` momento in cui l'operazione viene completata. `AVAILABLE`

------

## Parametri dei connettori
<a name="kb-managed-config-webcrawler"></a>

La configurazione dell'origine dati utilizza i seguenti parametri del connettore. Per utilizzare il Web Crawler, specificate `WEB` come tipo di connettore. `connectorParameters` Per i campi che racchiudono `connectorParameters` (come `deletionProtectionConfiguration` e`mediaExtractionConfiguration`), consultate. [Connettere un’origine dati](kb-managed-connect-ds.md)


**connectionConfiguration**  

| Campo | Richiesto | Description | 
| --- | --- | --- | 
| seedUrls | Condizionale | Elenco di URL iniziali da cui iniziare la scansione. Massimo di 10. Obbligatorio a meno che non venga fornito. siteMapUrls | 
| siteMapUrls | Condizionale | Elenco degli URL della mappa del sito. Massimo 3. Richiesto a meno che tu non forniscaseedUrls. | 
| authType | Sì | Il tipo di autenticazione: NO\_AUTHBASIC\_AUTH,FORM, oSAML. Per informazioni, consulta [Metodi di autenticazione](#kb-managed-webcrawler-auth-methods). | 
| secretArn | Condizionale | L'ARN del Gestione dei segreti AWS segreto contenente le tue credenziali. Richiesto quando non lo authType è. NO\_AUTH | 


**CrawlConfiguration (opzionale)**  

| Campo | Richiesto | Description | 
| --- | --- | --- | 
| crawlDepth | No | Profondità massima di esplorazione. Intervallo 0—10. 0esegue la scansione solo degli URL specificati; i valori più alti seguono i link più profondi 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 da 1 a 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, compresi i sottodomini). Se omesso, il crawler esegue la scansione solo sullo stesso host e sullo stesso percorso URL iniziale dell'URL iniziale. | 
| crawlAttachments | No | Indica 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 uno schema vengono sottoposti a scansione e indicizzati. | 
| exclusionPatterns | No | Elenco di espressioni regolari. Gli URL che corrispondono a qualsiasi modello non vengono sottoposti a scansione o indicizzati. | 
| maxFileSizeInMegaBytes | No | Dimensione massima, in megabyte, di ogni singolo file che il crawler inserisce. Fornisci come stringa numerica (ad esempio,). "500" L’impostazione predefinita è "500". | 

## Credenziali di autenticazione
<a name="kb-managed-webcrawler-credentials"></a>

Se il tuo sito Web richiede l'autenticazione, archivia le credenziali in modo segreto. Gestione dei segreti AWS Il formato segreto dipende dal tipo di autenticazione scelto.

**Autenticazione di base (`BASIC_AUTH`)**

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

**Autenticazione tramite modulo (`FORM`)**

Per l'autenticazione basata su moduli, fornite espressioni XPath che identificano 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 tuo browser, fai clic con il pulsante destro del mouse sull'elemento del modulo nella pagina di accesso e scegli Ispeziona.** Negli strumenti di sviluppo, fai clic con il pulsante destro del mouse sull'HTML evidenziato, scegli **Copia**, quindi scegli **Copia** XPath.

## Risoluzione dei problemi
<a name="kb-managed-ds-webcrawler-troubleshooting"></a>


**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 (click, scroll, menu dinamici) anziché elementi standard. <a href="..."> Il crawler esegue il rendering JavaScript ma non simula le interazioni degli utenti, quindi non può scoprire tali collegamenti. | Fornisci URL iniziali aggiuntivi per le pagine che desideri sottoporre a scansione oppure fornisci un URL della mappa del sito che elenchi tutti gli URL da sottoporre a scansione. Se i contenuti possono essere esportati come file, prendi in considerazione l'utilizzo del connettore Amazon S3. | 
| La sincronizzazione non restituisce alcun contenuto o restituisce un numero di pagine inferiore al previsto. | Il robots.txt file del sito non consente la scansione degli URL di cui desideri eseguire la scansione oppure le pagine hanno un noindex meta tag. | robots.txtEffettua l'aggiornamento per l'host in modo che consenta la scansione dei percorsi di cui desideri eseguire la scansione oppure rimuovi il noindex metatag dalle pagine che desideri indicizzare. Non bloccate la pagina robots.txt se desiderate anche il rilevamento dei 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 sono errate o scadute oppure le espressioni XPath non corrispondono agli elementi della pagina di accesso. | Verifica le credenziali contenute nel tuo account segreto. Per FORM o SAML autentica, convalida ogni XPath negli strumenti di sviluppo del tuo browser e verifica. loginPageUrl | 
| La sincronizzazione non riesce a causa della limitazione della velocità (HTTP 429) o di contenuti incompleti. | Il crawler recupera 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 superano. maxFileSizeInMegaBytes | Aumenta maxFileSizeInMegaBytes o accetta che i file più grandi del limite non vengano ingeriti. | 