> Alex K. Angelopoulos

ScriptingExtraire les informations d’une page Web

Les administrateurs Windows doivent parfois extraire des informations spécifiques d’un document HTML. Ce peut être un fichier local, une page d’état sur un périphérique réseau du LAN, un rapport de base de données consultable sur le Web, ou une infinité d’autres types de pages. Dans tous les cas, l’utilisation des données provenant de ces sources pose deux problèmes.Le premier est de se connecter à la page Web et de lire les données qu’elle contient. Si une page n’est pas un fichier statique accessible par un share ou système de fichiers Windows situé quelque part sur le réseau géré, nous ne pouvons pas utiliser d’outils standard tels que l’objet Scripting.FileSystemObject pour le lire. Nous serons même parfois amenés à fournir un nom et un mot de passe utilisateur à l’unité servant la page Web.
Une fois ce problème résolu, vient le second encore plus ardu : comment extraire fiablement le petit bout d’information dont nous avons besoin à partir d’un HTML brut virtuellement illisible ? Ces deux problèmes peuvent être résolus grâce aux composantes standard présentes sur toute station de travail de type WSH (Windows Script Host) et un peu de réflexion. Je vais démontrer le processus général en analysant un script de démo qui contient une page Web d’un routeur DSL et extrait l’adresse IP publique du routeur.
Ensuite, je distillerai le processus en trois fonctions génériques permettant d’extraire des informations spécifiques d’une grande variété de pages. Dans mon propos, les mots informations et données ont chacun une signification particulière. Par informations, j’entends la chose particulière que nous voulons trouver – dans ce cas, l’adresse IP publique du routeur. Par données, j’entends le matériau de page brut qui contient les informations ainsi que les éléments sans intérêt qu’il convient de supprimer.