Extraction du texte avec Lynx et difficultés avec la détection des "Bad Request"

Publié le par La vie multilingue du verbe

Après avoir téléchargé les pages web, on cherche à se débarrasser des balises HTML. Pour cela, on va utiliser Lynx, qui est un navigateur en ligne de commande. Il s'exécute dans le terminal. On va tout simplement enregistrer l'output de Lynx dans un fichier, qu'on place dans le sous-répertoire DUMP-TEXT.

 

Tout d'abord, voici le code :

   lynx

 

Puis voilà le tableau obtenu et un exemple de texte extrait d'une page aspirée :

 

lynxpage

 

lynxdump


(cliquez sur les vignettes pour agrandir)

 

Ensuite, et avant même de se soucier des encodages, il fallait faire en sorte que le script détecte la présence de chaînes de caractères du type Bad Request ou Accès Interdit. J'ai recopié la solution employée par Laetitia Antunes et Linda Massé (http://lintia.over-blog.com/article-recuperation-du-contenu-textuel-dump-89533216.html) mais la condition if n'a pas fonctionné : au lieu d'afficher Bad Request dans la colonne du code d'erreur de curl, je n'ai toujours que le code d'erreur de curl (soit 0, la plupart du temps).

 

Voici le code à problème, tel que je l'ai écrit :

brerreur.png

 

Voici le début du terminal, quand j'exécute ce script :

terminal-copie-1.png   

Le terminal affiche 0 comme valeur du retour de curl, or une vérification manuelle indique que les deux premières URLs du premier tableau donnent des Bad Request. RETOUR CURL devrait donc indiquer "Bad Request" au lieu de 0, à la fois dans le terminal et dans le tableau (le tableau obtenu est identique à celui créé par le script précédent).

firelist.jpg

(cliquez sur l'image pour agrandir)

Commenter cet article

SF 28/11/2011 14:06

il y a visiblement un pb dans votre script, on voit des séquences du type :
[[: not found
signalant des pbs...
Difficiles cependant de les mettre au jour directement.
Envoyez moi votre script pour que je regarde
SF