06.01.2009

tableaux, non encodages etc

Bon, j'ai remodifié le script pour faire de jolis tableaux, tout sr la meme page , je copie colle + tard .

 

En attendant .. ON N A PLUS DE PB D ENCODAGES .

Oui, pask Nassim et Anna, certaines de vos pages FONCTIONNENT av wget, d'autres NON . Parfois c'est ok, parfois c'est ERREUR 404 PAGE NON TROUVEE . Pourtant, ces pages EXISTENT . Je sais pas pourquoi toutes les urls du français FONCTIONNENT . Je sais pas pourquoi toutes celles de l'anglais et du polonais NE FONCTIONNENT PAS TOUT LE TEMPS .

Faut re pécho des nouvelles urls ?????, et retourner le mini egrep aussi( il est louche celui là, j'ai trop fait de changements je m'en sors plus ..)

FIN DU MESSAGE

 

en esperant que c'est Fleur, mon ordinateur qui est fou, et pas encore une fois un truc mal écrit . ca me saoule parfois d'être débile .

 

PEOPLE ! HELP !

 

 

 

Ces études auront réussies a m'ecoeurer d'un mot : TETE . Dans 3 langues différentes en +, bien ouej le tal ..

 

grr .

 

script quasi final

bon, tant pis on fait autrement .

 

Alors la proposition du jour, c'est de choisir directement quel sens du mot "tête" on veut analyser .

Pour ça, première étape,

script n° 1, très simple :

#!/bin/bash
echo "Quel sens du mot "tête" en français, anglais et polonais, voulez-vous analyser ?
Pour le sens anatomique de la tête , tapez sh script.sh < anatomie.txt

Pour "tête" au niveau du mental , tapez sh script.sh < mental.txt

Pour "tête" au sens "partie essentielle d'un objet", tapez sh script.sh < essentiel.txt

etc"

Et on liste les différents sens du mot tête qu'on a choisit .

Ce qui nous permet directement de savoir sur quel sens on veut travailler, et donc d'executer le script en conséquence .

Vous en pensez quoi ????

Ainsi, c'est plus simple pour la suite .
Ca nous permet de lancer le script, par exemple sur "anatomie", donc

sh script.sh < anatomie.txt

Dans anatomie.txt, on a 3 fichiers . Anglais, français, polonais (faire attention à ne pas mettre d'extension, sinon y'aura des bugs pour le tître) . Dans ces fichiers, il y a les urls correspondantes, qu'on a classé à la main, en cherchant nos urls sur le web .

Après, voilà le script, qui n'a pas énormément changé .
Je vais l'expliquer avec des # .

 

#!/bin/bash

read repertoiredurls; # sera le répertoire choisi par l'utilisateur , en fonction du sens recherché .

read ecrire; #bon, là on lit le tableau de base . Nassim, vu que c'est toi qui as changé les noms, tu px me rappeller ct quoi le VRAI titre de "ecrire" ??

read motif;

echo "<html><head><title>tableau de liens </title></head><body><h1>Tête au sens `basename $repertoiredurls`</h1>" > $ecrire; ## voilà pour le titre de la page . On aura comme titre " tête au sens de ... "en fonction de ce que l'utilisateur aura choisi . Vu que repertoiredurls est une variable, on doit utiliser BASENAME pour n'avoir que la fin du chemin . Sinon on a "tête au sens ../URLS/anatomie" (par exemple) , donc tout le chemin entier, et c'est pas top . Donc basename, c'est cool .

for fichier in `ls $repertoiredurls`;  #bon donc pour tout fichier dans le repertoire choisi (selectionné auparavant par l'utilisateur donc), fais ça :

{

i=1;   # on fait partir le compteur

echo "<table border=5><tr><th colspan=4>Tableau d'urls `basename $fichier`</th><BODY bgcolor="pink" text="black"></tr>" >> $ecrire;

#encore une fois BASENAME nous évite d'avoir le nom du chemin en entier et nous permet d'avoir un joli titre . J'ai choisi PINK, parce que c'est joli . mais on risque de changer, hein .. Et zou, tout dans le tableau .

for site in `cat $repertoiredurls/$fichier`;  # $ fichier, ça va être la variable de la langue. Donc anglais, français ou polonais . Donc pour chaque url dans le repertoire du sens choisi et en fonction de la langue, fais ça :

{
wget -O ../PAGES-ASPIREES/$fichier/$i.html $site;    # aspire les pages , classe les par langues et numérote les liens
lynx -dump -nolist -display_charset=UTF8 $site > ../DUMP-TEXT/$fichier/$i.txt; # ALORS CETTE HISTOIRE D'UTF 8 ELLE ME SAOULE, je suis pas sure que ça change grand chose, en tout cas sur mon ordi ça fonctionne qu'avec le français . Louche . Faut faire tourner a l'ilpga pour voir . bref ça ça veut dire tu mets le texte seul dans DUMP TEXTE en fonction de la langue et tu numérotes les pages


if [ "$fichier" = "anglais" ];
then
motif=./motif/head.txt;                  ## si le fichier c'est de l'anglais, le motif sera "head" .
elif [ "$fichier" = "francais" ];
then
motif=./motif/tete.txt;
else
motif=./motif/glowa.txt;
fi

## de même pour les autres langues . Petite précision: On peut pas écrire motif=head ou motif= head directement, à cause de l'encodage. Le script ne va pas comprendre le l barré du polonais par exemple, alors que si on l'encode bien avec un editeur de texte y'aura pas de problemes . C'est pour ça qu'on renvoie MOTIF à un fichier créé (dans PROGRAMMES) où on a écrit à l'interieur "glowa" avec le BON L .

perl mini-grep-multilingue.pl "UTF-8" ../DUMP-TEXT/$fichier/$i.txt $motif          
cp resultat-extraction.html ../CONTEXTES/$fichier/$i.html

 

## là on lui dit de chercher le motif et de le mettre dans la jolie page resultat extraction
#           egrep "$motif" ../DUMP-TEXT/$fichier/$i.txt > ../CONTEXTES/$fichier/$i.txt


echo "<tr><td><a href=$site> $site </a></td><td><a href=../PAGES-ASPIREES/$fichier/$i.html>Page aspirée $i</a><body link="white" vlink="white" alink="white"></td><td><a href="../DUMP-TEXT/$fichier/$i.txt">Page Dump $i</a></td><td><a href="../CONTEXTES/$fichier/$i.html">Page contextes $i</a></td></tr>" >> $ecrire;

## hop, tout ça dans le tableau correspondant au sens recherché .

let "i=i+1";

## et on incrémente le compteur

}

echo "</table>" >> $ecrire;

}


echo "</body></html>" >> $ecrire;

echo "les résultats obtenus sont dans TABLEAUX + le nom du sens recherché" # bon, pour dire où sont les resultats, mais c'est pas vraiment nécessaire ça .

 

 

 

 

 

script quasi final

bon, tant pis on fait autrement .

 

Alors la proposition du jour, c'est de choisir directement quel sens du mot "tête" on veut analyser .

Pour ça, première étape,

script n° 1, très simple :

#!/bin/bash
echo "Quel sens du mot "tête" en français, anglais et polonais, voulez-vous analyser ?
Pour le sens anatomique de la tête , tapez sh script.sh < anatomie.txt

Pour "tête" au niveau du mental , tapez sh script.sh < mental.txt

Pour "tête" au sens "partie essentielle d'un objet", tapez sh script.sh < essentiel.txt

etc"

Et on liste les différents sens du mot tête qu'on a choisit .

Ce qui nous permet directement de savoir sur quel sens on veut travailler, et donc d'executer le script en conséquence .

Vous en pensez quoi ????

Ainsi, c'est plus simple pour la suite .
Ca nous permet de lancer le script, par exemple sur "anatomie", donc

sh script.sh < anatomie.txt

Dans anatomie.txt, on a 3 fichiers . Anglais, français, polonais (faire attention à ne pas mettre d'extension, sinon y'aura des bugs pour le tître) . Dans ces fichiers, il y a les urls correspondantes, qu'on a classé à la main, en cherchant nos urls sur le web .

Après, voilà le script, qui n'a pas énormément changé .
Je vais l'expliquer avec des # .

 

#!/bin/bash

read repertoiredurls; # sera le répertoire choisi par l'utilisateur , en fonction du sens recherché .

read ecrire; #bon, là on lit le tableau de base . Nassim, vu que c'est toi qui as changé les noms, tu px me rappeller ct quoi le VRAI titre de "ecrire" ??

read motif;

echo "<html><head><title>tableau de liens </title></head><body><h1>Tête au sens `basename $repertoiredurls`</h1>" > $ecrire; ## voilà pour le titre de la page . On aura comme titre " tête au sens de ... "en fonction de ce que l'utilisateur aura choisi . Vu que repertoiredurls est une variable, on doit utiliser BASENAME pour n'avoir que la fin du chemin . Sinon on a "tête au sens ../URLS/anatomie" (par exemple) , donc tout le chemin entier, et c'est pas top . Donc basename, c'est cool .

for fichier in `ls $repertoiredurls`;  #bon donc pour tout fichier dans le repertoire choisi (selectionné auparavant par l'utilisateur donc), fais ça :

{

i=1;   # on fait partir le compteur

echo "<table border=5><tr><th colspan=4>Tableau d'urls `basename $fichier`</th><BODY bgcolor="pink" text="black"></tr>" >> $ecrire;

#encore une fois BASENAME nous évite d'avoir le nom du chemin en entier et nous permet d'avoir un joli titre . J'ai choisi PINK, parce que c'est joli . mais on risque de changer, hein .. Et zou, tout dans le tableau .

for site in `cat $repertoiredurls/$fichier`;  # $ fichier, ça va être la variable de la langue. Donc anglais, français ou polonais . Donc pour chaque url dans le repertoire du sens choisi et en fonction de la langue, fais ça :

{
wget -O ../PAGES-ASPIREES/$fichier/$i.html $site;    # aspire les pages , classe les par langues et numérote les liens
lynx -dump -nolist -display_charset=UTF8 $site > ../DUMP-TEXT/$fichier/$i.txt; # ALORS CETTE HISTOIRE D'UTF 8 ELLE ME SAOULE, je suis pas sure que ça change grand chose, en tout cas sur mon ordi ça fonctionne qu'avec le français . Louche . Faut faire tourner a l'ilpga pour voir . bref ça ça veut dire tu mets le texte seul dans DUMP TEXTE en fonction de la langue et tu numérotes les pages


if [ "$fichier" = "anglais" ];
then
motif=./motif/head.txt;                  ## si le fichier c'est de l'anglais, le motif sera "head" .
elif [ "$fichier" = "francais" ];
then
motif=./motif/tete.txt;
else
motif=./motif/glowa.txt;
fi

## de même pour les autres langues . Petite précision: On peut pas écrire motif=head ou motif= head directement, à cause de l'encodage. Le script ne va pas comprendre le l barré du polonais par exemple, alors que si on l'encode bien avec un editeur de texte y'aura pas de problemes . C'est pour ça qu'on renvoie MOTIF à un fichier créé (dans PROGRAMMES) où on a écrit à l'interieur "glowa" avec le BON L .

perl mini-grep-multilingue.pl "UTF-8" ../DUMP-TEXT/$fichier/$i.txt $motif          
cp resultat-extraction.html ../CONTEXTES/$fichier/$i.html

 

## là on lui dit de chercher le motif et de le mettre dans la jolie page resultat extraction
#           egrep "$motif" ../DUMP-TEXT/$fichier/$i.txt > ../CONTEXTES/$fichier/$i.txt


echo "<tr><td><a href=$site> $site </a></td><td><a href=../PAGES-ASPIREES/$fichier/$i.html>Page aspirée $i</a><body link="white" vlink="white" alink="white"></td><td><a href="../DUMP-TEXT/$fichier/$i.txt">Page Dump $i</a></td><td><a href="../CONTEXTES/$fichier/$i.html">Page contextes $i</a></td></tr>" >> $ecrire;

## hop, tout ça dans le tableau correspondant au sens recherché .

let "i=i+1";

## et on incrémente le compteur

}

echo "</table>" >> $ecrire;

}


echo "</body></html>" >> $ecrire;

echo "les résultats obtenus sont dans TABLEAUX + le nom du sens recherché" # bon, pour dire où sont les resultats, mais c'est pas vraiment nécessaire ça .