

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Robot Web
<a name="kb-managed-ds-webcrawler"></a>

Le Web Crawler se connecte aux URL que vous spécifiez pour les utiliser dans votre base de connaissances gérée et les analyse. Le Web Crawler parcourt les pages HTML à partir de vos URL de départ, en suivant des liens secondaires en fonction de l'étendue et des limites de votre exploration. Vous pouvez également fournir des URL de plan de site comme points de départ. Le Web Crawler respecte robots.txt conformément à la norme [ RFC 9309. ](https://www.rfc-editor.org/rfc/rfc9309.html)

**Important**  
Lorsque vous sélectionnez des sites Web à explorer, vous devez respecter la Politique d'utilisation acceptable d'[Amazon ](https://aws.amazon.com/aup/) et toutes les autres conditions d'Amazon. Utilisez le Web Crawler uniquement pour indexer vos propres pages Web ou les pages Web que vous êtes autorisé à explorer.

**Note**  
Le Web Crawler ne prend pas en charge le contrôle d'accès au niveau des documents (ACL). Tout le contenu indexé est accessible à tout utilisateur ayant accès à la base de connaissances. Si vous avez besoin d'un filtrage ACL, utilisez un connecteur qui le prend en charge (par exemple, Amazon S3 SharePoint, ou OneDrive).

## Fonctionnalités prises en charge
<a name="kb-managed-supported-features-webcrawler"></a>
+ Explorez plusieurs URL de départ et URL de plan de site
+ Profondeur d'exploration, limite de débit et limite de liens par URL configurables
+ Contrôle de l'étendue du crawl : même hôte et même chemin, hôte uniquement, ou hôte et sous-domaines
+ Filtres de modèles d'URL (expressions régulières d'inclusion et d'exclusion)
+ Explorez les pièces jointes liées à des pages Web (PDF, documents, etc.)
+ Authentification pour les sites protégés : de base, basée sur un formulaire ou SAML
+ Synchronisation incrémentielle du contenu ajouté, mis à jour et supprimé

## Méthodes d’authentification
<a name="kb-managed-webcrawler-auth-methods"></a>

Le Web Crawler prend en charge quatre méthodes d'authentification. Choisissez la méthode qui correspond à la manière dont le site cible authentifie les utilisateurs. Pour les sites publics sans connexion, utilisez`NO_AUTH`.


**Méthodes d'authentification du Web Crawler**  

| Méthode | Comment il s'authentifie | Quand l’utiliser | 
| --- | --- | --- | 
| Aucune authentification (NO\_AUTH) | Le robot envoie des requêtes sans informations d'identification. | Sites Web publics qui ne nécessitent pas de connexion. | 
| Authentification de base (BASIC\_AUTH) | Le robot envoie un Authorization: Basic en-tête HTTP contenant un nom d'utilisateur et un mot de passe provenant de votre secret. | Sites protégés par l'authentification HTTP de base (boîte de dialogue du nom d'utilisateur et du mot de passe de style navigateur). | 
| Authentification par formulaire (FORM) | Le robot se connecte en soumettant un formulaire HTML. Vous fournissez l'URL de connexion, les informations d'identification et les expressions XPath qui localisent les champs du formulaire. | Sites qui utilisent un formulaire HTML pour se connecter. | 
| Authentification SAML () SAML | Le robot se connecte via le formulaire de connexion d'un fournisseur d'identité SAML. Vous fournissez l'URL de connexion de l'IdP, les informations d'identification et les expressions XPath qui localisent les champs du formulaire. | Sites qui utilisent l'authentification SAML-based unique. | 

## Conditions préalables
<a name="kb-managed-prereqs-webcrawler"></a>

**Pour le site Web que vous souhaitez explorer, assurez-vous ** de :
+ Avoir l'autorisation d'explorer le site Web et son contenu.
+ Vérifiez que `robots.txt` les URL que vous souhaitez explorer ne sont pas interdites pour le site. Par défaut, le Web Crawler interdit si un `robots.txt` fichier est introuvable.
+ Si le site nécessite une connexion, identifiez la méthode d'authentification (de base, formulaire ou SAML). Pour le formulaire et le SAML, recherchez les expressions XPath pour le champ du nom d'utilisateur, le champ du mot de passe et le bouton d'envoi sur la page de connexion. Pour trouver un XPath, ouvrez le menu contextuel (clic droit) de l'élément de formulaire dans votre navigateur et choisissez ** Inspect**, puis copiez le XPath à partir des outils de développement.

**Dans votre AWS compte, assurez-vous de ** :
+ Si votre site nécessite une authentification, conservez vos informations d'identification de [AWS Secrets Manager manière secrète ](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) et notez son Amazon Resource Name (ARN). Pour les paires clé-valeur exactes, consultez. [Informations d’identification d’authentification](#kb-managed-webcrawler-credentials)
+ Incluez les autorisations nécessaires pour vous connecter à votre source de données dans votre role/permissions politique Gestion des identités et des accès AWS (IAM) pour votre base de connaissances. Pour plus d'informations sur les autorisations requises, consultez[Autorisations d’accès aux sources de données](kb-permissions.md#kb-permissions-access-ds).

## Comment configurer une source de données Web Crawler
<a name="kb-managed-webcrawler-workflow"></a>

La configuration d'une source de données Web Crawler implique les étapes suivantes :

1. **(Si votre site nécessite une connexion) Préparez les informations d'identification. ** Conservez les informations d'identification de votre méthode d'authentification de AWS Secrets Manager manière secrète. Consultez [Informations d’identification d’authentification](#kb-managed-webcrawler-credentials).

1. **Connectez la source de données. ** Créez la source de données Web Crawler dans la base de connaissances à l'aide de l'API Console de gestion AWS ou de l'API. Consultez [Création de la source de données](#kb-managed-ds-webcrawler-create).

## Création de la source de données
<a name="kb-managed-ds-webcrawler-create"></a>

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

**Pour connecter le Web Crawler à votre base de connaissances gérée**

1. Sous Source de ** données**, donnez un nom à votre source de données.

1. Sélectionnez ** Web Crawler dans la liste ** déroulante des sources de données.

1. Sous ** Source**, choisissez URL ** source ** (jusqu'à 10 URL de point de départ) ou plans de site ** source ** (jusqu'à 3 URL de plan de site).

1. Entrez vos URL dans la zone de ** texte ** Ajouter des URL, une par ligne.

1. Sous ** Authentification**, sélectionnez ** Aucune authentification**, Authentification ** de base**, Authentification par ** formulaire ou ** Authentification ** ** SAML. Pour toute méthode autre que l'**absence d'authentification**, sélectionnez ou créez un AWS Secrets Manager secret pour stocker vos informations d'identification.

1. (Facultatif) Étendez la portée de ** synchronisation ** pour définir la profondeur d'analyse (0 à 10), le nombre maximal de liens par URL (1 à 1 000), le nombre maximal d'URL explorées par minute (1 à 300) et l'étendue de l'analyse : ** par défaut ** (même hôte et même chemin d'URL initial que l'URL de départ), ** Hôte uniquement ** (même hôte, n'importe quel chemin) ou ** Sous-domaines ** (même domaine principal, y compris les sous-domaines).

1. (Facultatif) Développez les modèles de filtre d'**URL ** pour ajouter des expressions régulières qui incluent ou excluent des URL spécifiques.

------
#### [ API ]

Pour créer une source de données Web Crawler, envoyez une [ CreateDataSource ](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) demande avec un point de terminaison Agents for Amazon Bedrock build-time. L' AWS Command Line Interface exemple suivant crée une source de données qui explore un site public sans authentification. Pour une description de chaque champ, reportez-vous à la référence des paramètres du connecteur qui suit.

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

Le `webcrawler-managed-connector.json` fichier contient les éléments suivants :

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

Pour un site authentifié, définissez `authType` sur `BASIC_AUTH``FORM`, ou`SAML`, et ajoutez un `secretArn` à`connectionConfiguration`.

Pour les bases de connaissances gérées, `CreateDataSource` est asynchrone : l'état de la source de données passe du statut de la source de données `CREATING` à la `AVAILABLE` fin de l'opération.

------

## Paramètres du connecteur
<a name="kb-managed-config-webcrawler"></a>

La configuration de la source de données utilise les paramètres de connecteur suivants. Pour utiliser le Web Crawler, spécifiez `WEB` le type de connecteur dans`connectorParameters`. Pour les champs encapsulés `connectorParameters` (tels que `deletionProtectionConfiguration` et`mediaExtractionConfiguration`), consultez[Connexion d’une sources de données](kb-managed-connect-ds.md).


**connectionConfiguration**  

| Champ | Obligatoire | Description | 
| --- | --- | --- | 
| seedUrls | Conditionnel | Liste des URL de départ à partir desquelles commencer à explorer. Maximum de 10. Obligatoire sauf si vous le fournissezsiteMapUrls. | 
| siteMapUrls | Conditionnel | Liste des URL du plan du site. Maximum de 3. Obligatoire sauf si vous le fournissezseedUrls. | 
| authType | Oui | Type d'authentification : NO\_AUTHBASIC\_AUTH,FORM, ouSAML. Consultez [Méthodes d’authentification](#kb-managed-webcrawler-auth-methods). | 
| secretArn | Conditionnel | L'ARN du AWS Secrets Manager secret contenant vos informations d'identification. Obligatoire lorsque authType cela ne l'est pasNO\_AUTH. | 


**Configuration du crawl (facultatif)**  

| Champ | Obligatoire | Description | 
| --- | --- | --- | 
| crawlDepth | Non | Profondeur de rampe maximale. Plage de 0 à 10. 0explore uniquement les URL spécifiées ; les valeurs les plus élevées suivent les liens situés plus en profondeur dans le site. La valeur par défaut est 2 . | 
| maxLinksPerUrl | Non | Nombre maximum de liens à suivre par URL. Plage de 1 à 1 000. La valeur par défaut est 100 . | 
| maxCrawledUrlsPerMinute | Non | Nombre maximum d'URL explorées par minute (limite de débit). Gamme 1 à 300. | 
| implicitWaitInSeconds | Non | Temps d'attente, en secondes, après qu'une page soit prête avant que le robot d'exploration ne la lise. Augmentez cette valeur pour les pages dont JavaScript le contenu dynamique se charge après le modèle principal. | 
| syncScope | Non | L'étendue des liens à suivre. L'un des PATH\_SPECIFIC suivants : (même hôte et même chemin d'URL initial que l'URL de départ), DOMAINS\_ONLY (même hôte que l'URL de départ, quel que soit le chemin) ou SUB\_DOMAINS (même domaine principal, y compris les sous-domaines). En cas d'omission, le robot explore uniquement le même hôte et le même chemin URL initial que l'URL de départ. | 
| crawlAttachments | Non | Indique s'il faut analyser les fichiers et les pièces jointes liés à des pages Web (telles que des PDF et d'autres documents). | 


**Configuration du filtre (facultatif)**  

| Champ | Obligatoire | Description | 
| --- | --- | --- | 
| inclusionPatterns | Non | Liste d'expressions régulières. Seules les URL qui correspondent à au moins un modèle sont explorées et indexées. | 
| exclusionPatterns | Non | Liste d'expressions régulières. Les URL qui correspondent à un modèle quelconque ne sont ni explorées ni indexées. | 
| maxFileSizeInMegaBytes | Non | Taille maximale, en mégaoctets, de tout fichier ingéré par le robot d'exploration. Fournissez-la sous forme de chaîne numérique (par exemple,"500"). La valeur par défaut est "500" . | 

## Informations d’identification d’authentification
<a name="kb-managed-webcrawler-credentials"></a>

Si votre site Web nécessite une authentification, conservez vos informations d'identification de AWS Secrets Manager manière secrète. Le format secret dépend du type d'authentification que vous choisissez.

**Authentification de base (`BASIC_AUTH`) **

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

**Authentification par formulaire (`FORM`) **

Pour l'authentification basée sur un formulaire, fournissez des expressions XPath qui identifient le champ du nom d'utilisateur, le champ du mot de passe et le bouton d'envoi sur la page de connexion.

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

**Authentification SAML () `SAML` **

Pour l'authentification SAML, indiquez l'URL de la page de connexion du fournisseur d'identité SAML et les expressions XPath pour les champs du formulaire.

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

**Note**  
Pour trouver un XPath dans votre navigateur, ouvrez le menu contextuel (clic droit) de l'élément de formulaire sur la page de connexion et choisissez ** Inspect**. Dans les outils de développement, ouvrez le menu contextuel (clic droit) pour le code HTML surligné, puis choisissez ** Copier**, puis choisissez ** Copier XPath**.

## Comportement d'exploration et configuration de synchronisation
<a name="kb-managed-webcrawler-crawling-behavior"></a>

Le Web Crawler suit les pratiques d'exploration suivantes :
+ **Modèle de synchronisation incrémentielle ** : la première synchronisation effectue une analyse complète. Les synchronisations suivantes ne capturent que le contenu ajouté, mis à jour et supprimé.
+ **Nouvelle tentative automatique ** : le robot d'exploration inclut une logique de nouvelle tentative intégrée pour les demandes ayant échoué.
+ **Gestion des doublons ** : le robot d'exploration détecte et déduplique automatiquement les URL.
+ **Identification du robot d'exploration ** : le robot d'exploration Web s'identifie à l'aide de la chaîne de l'agent utilisateur `amazon-bedrock-knowledgebase-on-behalf-of-<hash>` dans les en-têtes de demande. Vous pouvez cibler cet agent utilisateur dans votre `robots.txt` fichier pour autoriser ou interdire spécifiquement le robot d'exploration. Pour de plus amples informations, veuillez consulter [Conformité d'Robots.txt](#kb-managed-webcrawler-robots-txt).

## Conformité d'Robots.txt
<a name="kb-managed-webcrawler-robots-txt"></a>

Le Web Crawler respecte le protocole robots.txt et respecte les directives user-agent et allow or disallow. Utilisez ces directives pour contrôler la manière dont le robot accède à votre site.

### Comment fonctionne la vérification du fichier robots.txt
<a name="kb-managed-webcrawler-robots-txt-how"></a>
+ **Host-level vérification ** : le Web Crawler lit les fichiers robots.txt au niveau de l'hôte (par exemple,`example.com/robots.txt`).
+ **Prise en charge de plusieurs hôtes ** : pour les domaines comportant plusieurs hôtes, le Web Crawler respecte les règles relatives aux robots pour chaque hôte séparément.
+ **Comportement de secours ** : si le Web Crawler ne parvient pas à récupérer le fichier robots.txt en raison d'erreurs de blocage, d'analyse ou de temporisation, il se comporte comme si robots.txt n'existait pas. Dans ce cas, le Web Crawler explore le site.

### Champs robots.txt pris en charge
<a name="kb-managed-webcrawler-robots-txt-fields"></a>

Le Web Crawler reconnaît les champs robots.txt suivants. Les noms de champs ne font pas la distinction entre majuscules et minuscules ; les valeurs les distinguent.

`user-agent`  
Identifie le robot d'exploration auquel les règles s'appliquent.

`allow`  
Un chemin d'URL que le Web Crawler peut explorer.

`disallow`  
Un chemin d'URL que le Web Crawler ne peut pas explorer.

`crawl-delay`  
Le temps d'attente, en secondes, entre les requêtes adressées à votre site Web.

## Prise en charge des balises Meta
<a name="kb-managed-webcrawler-meta-tags"></a>

Le Web Crawler prend en charge les balises méta des robots au niveau des pages que vous pouvez utiliser pour contrôler la façon dont vos données sont utilisées. Vous pouvez spécifier des paramètres au niveau de la page en incluant une balise META sur les pages HTML ou dans un en-tête HTTP.

### balises méta prises en charge
<a name="kb-managed-webcrawler-meta-tags-supported"></a>

`noindex`  
N'indexez pas la page. Si vous ne spécifiez pas cette règle, la page est peut-être indexée et peut être extraite de votre base de connaissances.

`nofollow`  
Ne suivez pas les liens de cette page. Si vous ne spécifiez pas cette règle, le Web Crawler peut utiliser les liens de la page pour découvrir les pages liées.

Vous pouvez combiner plusieurs valeurs en utilisant une virgule (par exemple,`noindex, nofollow`).

**Note**  
Pour détecter les balises méta, le Web Crawler doit accéder à votre page. Ne bloquez pas la page`robots.txt`, car cela empêche le robot d'exploration de la parcourir à nouveau pour lire ses balises méta.

## Résolution des problèmes
<a name="kb-managed-ds-webcrawler-troubleshooting"></a>


**Problèmes courants, causes et correctifs liés au Web Crawler**  

| Symptôme | Cause probable | Corriger | 
| --- | --- | --- | 
| La synchronisation s'effectue correctement, mais seule l'URL de départ est indexée. | Les liens de navigation du site sont câblés via des gestionnaires d' JavaScript événements (clic, défilement, menus dynamiques) au lieu d'<a href="...">éléments standard. Le robot effectue le rendu des interactions des utilisateurs JavaScript mais ne les simule pas. Il ne peut donc pas découvrir ces liens. | Fournissez des URL de départ supplémentaires pour les pages que vous souhaitez explorer, ou fournissez une URL de plan de site répertoriant toutes les URL à explorer. Si le contenu peut être exporté sous forme de fichiers, pensez plutôt à utiliser le connecteur Amazon S3. | 
| La synchronisation ne renvoie aucun contenu ou moins de pages que prévu. | Le robots.txt fichier du site interdit les URL que vous souhaitez explorer, ou les pages comportent une noindex balise META. | Effectuez robots.txt une mise à jour pour l'hôte afin qu'il autorise les chemins que vous souhaitez explorer, ou supprimez la balise noindex META des pages que vous souhaitez indexer. Ne bloquez pas la page robots.txt si vous souhaitez également détecter les balises méta, car le robot d'exploration doit accéder à la page pour lire les balises méta. | 
| L'authentification échoue (HTTP 401 ou 403, boucle de redirection de connexion ou expiration de session). | Les informations d'identification sont incorrectes ou ont expiré, ou les expressions XPath ne correspondent pas aux éléments de la page de connexion. | Vérifiez les informations d'identification contenues dans votre secret. Pour FORM ou SAML authentifier, validez chaque XPath dans les outils de développement de votre navigateur, puis vérifiez. loginPageUrl | 
| La synchronisation échoue en raison d'une limitation de débit (HTTP 429) ou d'un contenu incomplet. | Le robot récupère les pages plus rapidement que ne le permet le site. | maxCrawledUrlsPerMinuteRéduisez ou augmentez implicitWaitInSeconds pour les sites dont le contenu dynamique se charge une fois que la page est prête. | 
| Des pages sont manquantes car elles sont plus grandes que prévu. | La page ou la pièce jointe dépassemaxFileSizeInMegaBytes. | Augmentez maxFileSizeInMegaBytes ou acceptez que les fichiers dont la taille dépasse la limite ne soient pas ingérés. | 