Script Perl

Télécharger Le Script

Script Final Perl

Explications

Le script en perl a le même objectif que le script en shell : construire un tableau de liens vers les urls, les pages aspirées, les dumps (pages nettoyées) et les contextes correspondants en fonction d’un motif choisi. Néanmoins la réalisation du script en perl est plus complexe car il n’existe pas en perl de fonction préexistante pour nettoyer les pages aspirées et récupérer les contextes. Il faut donc créer ces fonctions. Pour aspirer les pages, nous avons utilisé la fonction getstore qui permet de stocker une page web directement dans un fichier (getstore ($url, $fichier)). Pour nettoyer les pages on a utilisé la fonction get qui permet de récupérer une page web et de la stocker dans une variabale ($var=get($url)).

Une fois le contenu de la page dans la variable, il faut le nettoyer. Nous nous sommes aidés pour cela du site http://perl.linguistes.free.fr/progs/URL-texte.pl qui propose une base de données de scripts adaptés à la linguistique. Nous avons ensuite adapté ce script à nos besoins. Une fois les pages nettoyées, nous avons extrait les contextes à l’aide de la fonction split qui permet de découper une chaîne de caractères (split /expression régulière/, $chaîne_caractères). Une fois les mots de chaque ligne découpés et stockés dans une liste de mots, nous avons pu récupérer les mots qui nous intéressaient en utilisant leur indice dans la liste.

Si le script perl est plus long à mettre en œuvre que le script shell, il s’avère une fois réalisé très performant. Il s’exécute plus rapidement que le script shell et offre de plus grandes possibilités d’adaptabilité. On peut par exemple choisir combien de mots on veut garder dans le contexte, ou alors stocker tous les mots du texte dans un tableau et les conserver.Au fil de nos besoins on peut très facilement adapter ce script. Un des points faibles du script perl est qu’il y a des pages qu’il n’arrive pas à aspirer. On affiche donc à la place du contenu de la page aspirée et du texte brut un message d’erreur. Le script n’a donc pas de contenu à extraire, le lien contexte est donc vide.