> Tech > Les informations cruciales

Les informations cruciales

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

La plus grande partie du travail restant sera propre à la page Web particulière d’où nous extrayons les informations. Mais, le plus souvent, deux ou trois lignes de code suffiront. Comme la plupart des tâches de supervision ou d’administration de réseau comportent l’accès répétitif à seulement une poignée de pages

Les informations cruciales

différentes, un peu de temps consacré à créer une routine d’extraction simple s’avèrera très rentable.

La figure 1 montre un sous-ensemble de données provenant de la page de configuration de routage après avoir supprimé les tags HTML et l’espace vierge superflu. Ce n’est pas la page complète – j’ai enlevé des éléments pour raccourcir l’extraction – mais l’astuce que nous utiliserons pour obtenir nos informations vaudra aussi avec de longs jeux de données. L’astuce consiste à regarder les données qui précèdent immédiatement ce que nous recherchons et à en choisir le morceau le plus court qui est toujours sur la page mais qui n’apparaît qu’une fois.

Par exemple, nous recherchons l’adresse Internet : la valeur évidemment fictive 256.261.381.125. Un signe deuxpoints et un espace précèdent immédiatement l’adresse, mais ce jeu de caractères n’est pas unique dans les données. Si nous allons plus loin en arrière, nous obtenons « Address : », mais ce jeu de caractères n’est pas non plus unique. En revanche, « Internet Address : » est unique. Donc nous divisons les données à « Internet Address : », ce qui nous donne une matrice de deux chaînes, l’une contenant le texte avant « Internet Address : » et l’autre contenant le texte après. Nous voulons simplement la seconde chaîne, qui a un index de 1, donc nous faisons ceci :

data = Split(data, _ "Internet Address: ")(1)

A présent, notre travail est simple. Le premier caractère après l’information que nous voulons est un espace ; et comme notre adresse IP ne devrait jamais avoir un espace, nous pouvons diviser les données à l’espace. Nous gardons la première chaîne de la matrice à deux chaînes que Split renvoie (la première chaîne a un index de 0), comme ceci :

data = Split(data, " ")(0)

et il nous reste la valeur 256.261.381.125. Pour constater la puissance de cette approche quand on l’utilise de manière répétitive, examinons le listing 1. J’ai transformé chacune des étapes techniques majeures – extraire la page, supprimer les tags et l’espace vierge supplémentaire, et isoler la sous-chaîne d’information que nous voulons – dans une fonction séparée, qui apparaît en totalité au renvoi B. Avec les fonctions implémentées, l’extraction de l’adresse IP ne demande que trois lignes de code au renvoi A.

En lisant le code, vous constaterez que j’utilise la fonction Trim de VBScript dans la fonction GetSubString bien que je ne l’aie pas utilisée dans cet exemple. Trim supprime simplement les espaces au début et à la fin du texte. Je l’utilise dans la fonction pour que vous n’ayez pas besoin d’être précis quant à l’inclusion des espaces de tête et de queue dans les chaînes que vous utilisez pour extraire les données.

Les fonctions facilitent aussi l’adaptation du code à votre propre cas. Si vous savez déjà comment extraire les éléments d’une page en utilisant des expressions régulières et si vous voulez le faire à votre manière, vous pouvez utiliser simplement la fonction GetWebXml pour extraire les données puis les traiter à votre guise. Si vous voulez davantage de travail effectué pour votre compte mais avez des besoins spéciaux comme l’extraction de chaînes multiples, vous pouvez utiliser la fonction CleanTaggedText et ignorer la fonction GetSubXml. Enfin, si vous n’avez besoin que d’un élément provenant d’une page et si vous avez un texte unique homogène avant et après l’élément, vous pouvez utiliser les trois fonctions comme je l’ai fait pour obtenir les informations nécessaires.

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010