Vous pouvez utiliser le scraping de données pour créer des custom fields et obtenir des analyses basées sur le contenu ou la structure de vos pages. Certains connaissent déjà cette fonctionnalité sous le nom de "custom extraction."

Pour créer un custom field, vous allez avoir besoin de paramétrer une configuration de scraping dans l’interface des paramètres de crawl. Lorsque vous définissez les paramètres de crawl, vous pouvez ajouter des règles d’extraction spécifiques pour afficher la donnée lorsqu’une page est récupérée.

Qu’est-ce qu’un custom field ou champ personnalisé ?

Un custom field est un attribut pour une page web que vous pouvez collecter pour chaque page sur votre site web. Un custom field devient une nouvelle colonne que vous pouvez ajouter à n’importe quel rapport dans le Data Explorer.

Vous pourrez alors utiliser les différentes valeurs de votre nouvel attribut pour analyser les pages de votre site.

Les custom field se basent sur le code source pour être examinés. L'examen est pris en charge pendant le processus de crawl de votre site. Ils doivent donc être paramétrés avant de lancer un crawl.

Comment récupérer les données pour mon custom field ?

Les customs fields utilisent des règles d’extraction rules pour trouver les attributs dans le code source de vos pages pendant un crawl. Ces règles peuvent être écrites sous forme de REGEX, de requêtes XPATH, ou avec une combinaison des deux.

Le choix de REGEX ou XPATH dépend de ce que vous cherchez dans le code source. Vous pouvez utiliser la règle suivante :

  • Utilisez le XPATH lorsque vous souhaitez capturer le texte marqué par des balises HTML (par exemple, le texte H2) ou le texte d’un attribut HTML (par exemple, l’image alt text).

    Si vous connaissez déjà les CSS selectors, il s'agit de la même fonctionnalité.

  • Utilisez une REGEX lorsque vous souhaitez capturer un pattern de caractère spécifique (par exemple une date).

Une fois que vous avez trouvé ce que vous cherchez, vous pouvez utiliser Transformations pour modifier le résultat final. Cela peut-être utile, par exemple, lorsque vous voulez compter le nombre d’occurence, ou mesurer d’autres caractéristiques pour un contenu donné.

Les règles et les transformations sont choisies lorsque vous paramétrez un crawl. Vous pouvez aller directement à "Creating a Custom Field" pour plus de détails.

Expressions Regex

Les REGEX sont utilisées pour trouver une chaîne de texte spécifique dans le code source. Une expression REGEX décrit le texte ou le type de texte que vous cherchez en utilisant des caractères génériques qui sont interprétés par un programme de recherche.

Parce que l’expression utilise certains caractères spéciaux pour représenter les caractéristiques recherchées, vous devez éviter des caractères en plaçant un \ devant eux. Les caractères qui doivent être évités inclus ? . / ( ) [ ] { }

Une seule REGEX peut rechercher plusieurs chaînes de caractères. Par défaut, seule la première chaîne de recherche, ou groupe, sera prise en compte. Pour utiliser un groupe différent, ou plusieurs groupes, vous devrez fournir un modèle de sortie.

Utilisez l’expression {n} pour indiquer un groupe et remplacez "n" avec le nombre du groupe dans l’ordre d’apparence dans le pattern de recherche (le premier groupe est le chiffre 0).

Par exemple, pour chercher une date écrite 2018/07/19 et qui retourne 19-07-2018 :

  • REGEX: (\d{4})/(\d{2})/(\d{2})

  • Output pattern: {2}-{1}-{0}

Pour plus d’aide avec les REGEX, veuillez consulter notre guide.

Requêtes XPATH

XPATH est un langage de requête qui peut être utilisé pour trouver des éléments dans un document structuré, comme une page web en HTML ou XML. Il décrit l’élément structurel que vous cherchez dans votre page source.

Si vous avez l'habitude des CSS selector, les XPATH vous conviendront. Afin de convertir des expressions CSS selector à XPATH, il y a un site utile : https://css2xpath.github.io/

Par exemple, il peut être utilisé pour trouver le texte de tous les headers H2 d’une page :

  • Etape 1: XPATH: //h2

  • Etape 2: XPATH: string(*)

Pour plus d’aide avec les requêtes XPATH, vous pouvez trouver plus d'informations sur XPath tutorial at w3schools.com.

Créer un Custom Field

Avant de démarrer

Le scraping de données est une fonction optionnelle. Si vous ne pouvez pas activer le scraping dans la section "Scraping" de vos paramètres de crawl, vous n'avez pas accès à cette option.

Cliquez sur le bouton Intercom en bas à droite de l'écran pour discuter avec notre équipe de l'ajout du scraping de données à votre plan.

Activer le scraping de données dans les paramètres de crawl

Sur la page d'accueil du projet, cliquez sur "Set up a new Crawl" ou choisissez l'un des paramètres de votre crawl existant.

  1. Sous "Analysis", cliquez sur "Scraping" pour développer la section. Si vous ne pouvez pas accéder à cette section, vous devrez peut-être mettre à jour votre plan pour y inclure le scraping de données.

  2. Cochez la case "Enable scraping".

Nommer votre custom field

Donnez un nom à votre champ personnalisé. Ce nom sera utilisé dans le Data Explorer pour trouver et afficher les colonnes.

Essayez de donner un nom explicite basé sur les informations que vous voulez extraire.

Choisissez un nom composé de lettres minuscules et majuscules, de tirets, de traits de soulignement et de chiffres. Les caractères spéciaux, y compris les accents, ne peuvent pas être utilisés dans les noms des champs personnalisés.

Choisir les règles de parsing

Mettez en place les règles de parsing. Vous pouvez utiliser plusieurs étapes. Chaque étape successive sera appliquée au résultat de l'étape précédente.

Pour chaque étape :

  1. Choisissez le type de règle : REGEX ou XPATH.

  2. Précisez la règle. S'il s'agit d'une REGEX, vous pouvez également fournir un modèle de sortie optionnel.

(Nous vous donnons quelques exemples de certaines de nos règles fréquemment utilisées à la fin de cet article. Allez directement à la fin si vous le souhaitez).

Sélectionner les transformations à effectuer sur les résultats

Laissez tomber les valeurs vides : si l'une des valeurs trouvées ne contient aucun caractère, ignorez-les. Cela peut être le cas si, par exemple, vous avez cherché le nom d'une catégorie WordPress, mais que vous avez des pages qui n'ont pas de catégorie.

Normaliser les URLs : si les résultats sont des URLs, formatez-les toutes en "http://yourdomain.com/path". Cela supprime les URL relatives ('/chemin').

Appliquer un pattern: ajoutez des caractères avant ou après les valeurs que vous trouvez. La valeur trouvée est représentée par le {0} dans le champ ci-dessous. Vous pouvez placer du texte avant ou après le {0}. Veillez à ne pas supprimer ou modifier le {0} si vous voulez voir la valeur elle-même dans vos résultats.

Obtenir le nombre de valeurs : au lieu de lister les valeurs trouvées, comptez le nombre de résultats.

Remplacer les entités HTML par des caractères d'affichage : si la valeur trouvée contient des caractères tels que des accents ou d'autres caractères avec un HTML spécial, comme le &amp ; pour le caractère "&", afficher le caractère au lieu du HTML.

Condenser les espaces blancs : si votre résultat contient une série d'espaces adjacents, des retours à la ligne et d'autres espaces "blancs", remplacez la série par un seul espace.

Obtenir la longueur de la valeur : comptez le nombre de caractères de la valeur trouvée et remplacez la valeur par le nombre de caractères.

Sélectionnez le format des valeurs à exporter

Décidez dans quel format vous souhaitez exporter les résultats.

Vous pouvez garder toutes les valeurs, ou simplement la première valeur trouvée.

Une valeur peut être sauvegardé comme :

  1. Chaîne : une série de caractères

  2. Nombre : une valeur numérique exprimée par un nombre entier (1, 2, 3, ...)

  3. Nombre décimal : une valeur numérique exprimée sous la forme d'un nombre avec des décimales (1,23, 4,5, 6,789, ...)

  4. Valeur booléenne : vrai ou faux

  5. Valeur de la date : une date, exprimée dans le format AAAA-MM-JJ

  6. Valeur date-heure : une date et une heure, exprimées sous le format AAAA-MM-JJ HH:mm:ss

Vérifier la règle et son résultat

Avant de sauvegarder, il est bon de s'assurer que votre règle de scraping fonctionne comme vous l'attendez. Vérifiez votre règle en l'exécutant sur un exemple d'URL, ou en fournissant un contenu textuel pour une analyse type.

Le résultat s'affichera sur la droite.

N’oubliez pas de cliquer sur "Save Custom Field" dans la boîte de vérification lorsque vous êtes satisfait !

Exemples de configuration de Custom Field

Extraire l’URL AMP d’une balise de lien

Nom du custom field : amphtml

Etape 1 du parsing :

Type de règle : XPATH

Règle : //link[@rel="amphtml"]

Etape 2 du parsing :

Type de règle : XPATH

Règle : string(//@href)

Transformations : Drop empty values, Normalize URLs

Export:

Keep... All values

As… String (e.g. "lorem ipsum")

Extraire le fil d’Ariane complet comme une série de valeurs (basé sur le schema.org)

Nom du custom field : breadcrumb

Etape 1 du parsing:

Type de règle : XPATH

Règle : //*[@itemtype="http://schema.org/BreadcrumbList"]//*[@itemprop="name"]/text()

Transformations: none

Export:

Keep... All values

As… String (e.g. "lorem ipsum")

C’est pour une intégration d’un fil d’Ariane schema.org. Le XPATH devra être adapté à votre intégration.

Extraire la profondeur du fil d’Ariane

Nom du custom field : breadcrumb_depth

Etape 1 du parsing :

Type de règle : XPATH

Règle : //*[@itemtype="http://schema.org/BreadcrumbList"]//*[@itemprop="name"]/text()

Transformations: Get number of values

Export:

Keep... All values

As… Number (e.g. 123)

C’est pour une intégration du fil d’Ariane en schema.org. Le XPATH devra être adapté à votre intégration.

Vérifier la présence de la balise Google Analytics

Nom du custom field : GA_is_present

Etape 1 du parsing:

Kind of rule: REGEX

Rule: _gaq.push\(\['_setAccount', 'UA-XXXXXXXX-X'\]\);

Output pattern: none

Transformations: none

Export:

Keep... First value

As… Boolean value (e.g. true)

NB: replacez 'UA-XXXXXXXX-X' avec votre ID de compte

Aller plus loin

Si vous avez encore des questions sur le scraping de données et les champs personnalisés, n'hésitez pas à nous écrire à @oncrawl_cs ou à cliquer sur le bouton Intercom en bas à droite de votre écran pour entamer une discussion avec nous.

Bonne navigation !

Avez-vous trouvé votre réponse?