Outils pour capturer et convertir le Web

Extraire les données et les transformer into un jeu de données

L’une des exigences les plus courantes consiste à extraire des données d’un site Web et à les transformer. into une structure tabulaire pouvant être exportée pour un traitement ultérieur. Mais qu'est-ce qu'un jeu de données et comment est-il utilisé dans Grattoir Web de GrabzIt?

Exemple de jeu de données: liste de prix

Vous trouverez ci-dessous les données de la table contenues dans le jeu de données. liste de prix, le tableau est composé de trois colonnes étiquette d'article, description de l'article prix de l'article.

étiquette d'article description de l'article prix de l'article
Caméra Prend des photos numériques $99.00

Pour créer cet ensemble de données, vous devrez utiliser les instructions de suppression suivantes.

Data.save('Camera', 'price list', 'item label');
Data.save('Takes digital photos', 'price list', 'item description');
Data.save('$99.00', 'price list', 'item price');

Cela utilise le Data.save méthode pour ajouter un Valeur des données à un particulier jeu de données colonne. A chaque fois le Data.save La méthode est appelée avec les mêmes paramètres de nom de fichier et de nom de colonne. Une nouvelle ligne est ajoutée à cette colonne. Cependant, les instructions de suppression ci-dessus ne sont pas très utiles car nous créons l'ensemble de données à l'aide de valeurs statiques. Le code ci-dessous montre le code HTML d'une page Web, nous écrirons ensuite des instructions pour extraire dynamiquement les données de la page et save it into un jeu de données.

<html>
    <body>
        <span id="spnLabel">Nikon 1055</span>
        <span id="spnDescription">Great little camera, creates clear sharp images.</span>
        <span id="spnPrice">$99.99</span>
    </body>
</html>

Nous allons maintenant utiliser le Page.getTagValue méthode pour extraire les valeurs des balises span.

Data.save(Page.getTagValue({"id":{"equals":"spnLabel"}}), 'price list', 'item label');
Data.save(Page.getTagValue({"id":{"equals":"spnDescription"}}), 'price list', 'item description');
Data.save(Page.getTagValue({"id":{"equals":"spnPrice"}}), 'price list', 'item price');

Comme vous pouvez le voir Page.getTagValue les méthodes utilisent un filtre qui identifie de manière unique l'élément HTML à partir duquel le texte doit être extrait. Dans ce cas, les filtres spécifient que l'attribut id HTML doit être égal à spnLabel, spnDescription or spnPrice respectivement. Vous pouvez facilement générer un filtre en cliquant sur le bouton Bouton de filtre icône, qui affiche un assistant pour simplifier la construction du filtre.

Une fois que vous avez construit votre jeu de données, comme nous l’avons montré ici, vous pouvez choisir le mode d’exportation souhaité. Options d'exportation languette.