

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 les liens enfants en fonction de l'étendue et des limites de votre exploration. Vous pouvez également fournir des URL de plan de site comme point de départ. Le Web Crawler respecte le fichier robots.txt conformément à la [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 du document (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 la portée 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 des formulaires ou SAML
+ Synchronisation incrémentielle du contenu pour le 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**  

| Method | Comment s'authentifie-t-il | Quand l’utiliser | 
| --- | --- | --- | 
| Aucune authentification (NO\_AUTH) | Le robot envoie des demandes sans informations d'identification. | Sites Web publics qui ne nécessitent pas de connexion. | 
| Authentification de base (BASIC\_AUTH) | Le robot d'exploration envoie un Authorization: Basic en-tête HTTP contenant un nom d'utilisateur et un mot de passe issus de votre code secret. | Sites protégés par l'authentification HTTP de base (boîte de dialogue de nom d'utilisateur et de mot de passe de type navigateur). | 
| Authentification par formulaire (FORM) | Le robot d'exploration 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 d'exploration se connecte via le formulaire de connexion d'un fournisseur d'identité SAML. Vous fournissez l'URL de connexion à l'IdP, les informations d'identification et les expressions XPath qui localisent les champs du formulaire. | Sites utilisant 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 :
+ Soyez autorisé à 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. Le Web Crawler interdit par défaut si aucun `robots.txt` fichier n'est trouvé.
+ Si le site nécessite une connexion, identifiez la méthode d'authentification (basique, 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, cliquez avec le bouton droit sur l'élément de formulaire dans votre navigateur et choisissez **Inspecter**, puis copiez le XPath depuis les outils de développement.

**Dans votre AWS compte, assurez-vous** de :
+ Si votre site nécessite une authentification, stockez vos informations d'identification dans un [AWS Secrets Manager secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) et notez son Amazon Resource Name (ARN). Pour les paires clé-valeur exactes, voir. [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 AWS Management Console 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**, attribuez un nom à votre source de données.

1. Sélectionnez **Web Crawler** dans le menu déroulant 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) Élargissez le **champ de synchronisation** pour définir la profondeur d'analyse (0 à 10), le nombre maximum de liens par URL (1 à 1 000), le nombre maximum d'URL explorées par minute (1 à 300) et le champ d'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 ci-dessous.

```
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` c'est asynchrone : le statut de la source de données passe de « `CREATING` à » `AVAILABLE` lorsque l'opération est terminée.

------

## 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. `connectorParameters` Pour les champs encapsulés `connectorParameters` (tels que `deletionProtectionConfiguration` et`mediaExtractionConfiguration`), reportez-vous à la section[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 ce n'est pas le casNO\_AUTH. | 


**Configuration du crawl (facultatif)**  

| Champ | Obligatoire | Description | 
| --- | --- | --- | 
| crawlDepth | Non | Profondeur de rampage maximale. Plage de 0 à 10. 0analyse uniquement les URL spécifiées ; les valeurs les plus élevées suivent les liens plus profonds 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). Plage de 1 à 300. | 
| implicitWaitInSeconds | Non | Temps d'attente, en secondes, une fois qu'une page est 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, n'importe quel chemin) ou SUB\_DOMAINS (même domaine principal, y compris les sous-domaines). En cas d'omission, le robot d'exploration explore uniquement le même hôte et le même chemin d'URL initial que l'URL de départ. | 
| crawlAttachments | Non | S'il faut explorer les fichiers et les pièces jointes liés à des pages Web (tels que des PDF et d'autres documents). | 


**Configuration du filtre (facultatif)**  

| Champ | Obligatoire | Description | 
| --- | --- | --- | 
| inclusionPatterns | Non | Liste des expressions régulières. Seules les URL correspondant à au moins un modèle sont explorées et indexées. | 
| exclusionPatterns | Non | Liste des expressions régulières. Les URL qui correspondent à n'importe quel modèle ne sont ni explorées ni indexées. | 
| maxFileSizeInMegaBytes | Non | Taille maximale, en mégaoctets, de chaque fichier ingéré par le robot d'exploration. Fournissez-le 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 en AWS Secrets Manager secret. Le format du 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 par 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, fournissez 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, cliquez avec le bouton droit sur l'élément de formulaire sur la page de connexion et choisissez **Inspecter**. Dans les outils de développement, cliquez avec le bouton droit sur le code HTML surligné, choisissez **Copier**, puis **Copier XPath**.

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


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

| Symptôme | Cause probable | Corriger | 
| --- | --- | --- | 
| La synchronisation s'est terminée avec succès, 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 d'exploration affiche JavaScript mais ne simule pas les interactions des utilisateurs, 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 du 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 méta. | 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 méta 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 notre SAML authentification, validez chaque XPath dans les outils de développement de votre navigateur et vérifiez. loginPageUrl | 
| La synchronisation échoue en cas de limitation de débit (HTTP 429) ou de contenu incomplet. | Le robot d'exploration récupère les pages plus rapidement que ne le permet le site. | maxCrawledUrlsPerMinuteDiminution ou augmentation 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. | 