Comme nous vous l'avions dit, nous sommes en pleine création du site qui permettra de visualiser tout le travail d'un semestre..
Cependant nous avons dû tout recommencer.. Le site que nous étions entrain de créer n'était pas celui attendu.. Une charge de travail en plus.. Mais bon comme nous sommes motivées, il nous reste que quelques détails, des petites finitions..
Ps : ah oui, on ne vous a pas dit.. On a enfin résolu le problème de l'hébreu.. Moi je dis merci à Serge Fleury qui a énormément contribué à cette réussite.
Projet Encadré parole
vendredi 7 janvier 2011
dimanche 26 décembre 2010
Un joli site en cours de préparation
Quelque peu essoufflé par ces semaines de travail acharné, le projet parole ne se repose jamais.
Même en cette période de fêtes, et entre deux cadeaux au pied du sapin, le projet parole est manipulé, traité et modifié sans cesse.
Le site est en chemin, hébergé par Wix, et nous sommes en plein travail!
Vite vite vite, nous sommes impatientes de vous le dévoiler!
Bonne fêtes de fin d'année à tous.
Même en cette période de fêtes, et entre deux cadeaux au pied du sapin, le projet parole est manipulé, traité et modifié sans cesse.
Le site est en chemin, hébergé par Wix, et nous sommes en plein travail!
Vite vite vite, nous sommes impatientes de vous le dévoiler!
Bonne fêtes de fin d'année à tous.
jeudi 16 décembre 2010
La tête dans les Nuages
Et voilà CSS en pleine action
eh ouiii.. La fin des tableaux est proche... ouf.. :).. alors au lieu de le laisser tout tristounet, on a décidé d'y mettre un peu de couleurs, un peu de vie... On dit "Merci Css". Alors voici deux exemples de tableaux.. un coloré et l'autre avec une image intégrée au fond :
Et voici les balises qui ont permis la création de ces jolis tableaux :
Tableau coloré :
bgcolor= thistle --> pour colorer le fond du tableau
Tableau avec image intégrée :
background=../IMAGES/bulles-parole.jpg --> ici on donne le chemin pour définir l'endroit où se trouve l'image.
Tableau coloré |
Tableau avec image intégrée |
Et voici les balises qui ont permis la création de ces jolis tableaux :
Tableau coloré :
bgcolor= thistle --> pour colorer le fond du tableau
Tableau avec image intégrée :
background=../IMAGES/bulles-parole.jpg --> ici on donne le chemin pour définir l'endroit où se trouve l'image.
mercredi 15 décembre 2010
Basename enfin résolu
Depuis quelques semaines, nous avions mis ce petit problème de côté.. mais il fallait bien le résoudre un jour surtout pour faire un joli tableau avec un titre sans extension :).. voici la commande :
fichiersans=$(basename $fichier '.txt') ;
alors fichiersans est la variable une fois modifiée.. la commande basename permet en effet de retirer l'extension d'un fichier, ici pour la variable $fichier on enlève l'extension ".txt"
fichiersans=$(basename $fichier '.txt') ;
alors fichiersans est la variable une fois modifiée.. la commande basename permet en effet de retirer l'extension d'un fichier, ici pour la variable $fichier on enlève l'extension ".txt"
mardi 14 décembre 2010
Les contextes.. et leurs problèmes
Pour extraire les contextes des pages dumpées, nous avons écrit une boucle pour chaque fichier de chaque sens et de chaque langue..
Pour le français et l'espagnol, la commande egrep fonctionne plutôt bien puisque cygwin supporte les caractères latins. En revanche pour l'hébreu c'est une autre histoire.. en effet, cygwin ne reconnaît pas les caractères hébraïques.. et donc nous devons modifier un peu la boucle.. nous devons créer les fichiers contexte.txt à partir des fichiers contexte.html :
Une fois la boucle faite, on pourrait se dire que notre travail est terminé.. eh bien non!! il nous reste encore pas mal de travail.. En effet, Serge Fleury nous a fait remarqué que nous travaillons avec des locutions tels que "tenir la parole". Et du coup ça rend la tâche beaucoup difficile quant il s'agit de chercher les contextes.. On ne trouve pas forcément "tenir sa parole" dans tous les liens.. Cette locution peut être déclinée : "elle tient sa parole.....".. Nous devons donc chercher des expressions régulières qui nous permettraient de résoudre ça..
Allez courage!! c'est bientôt la fin.. :).. Encore quelques lignes de script et notre tableau sera enfin complet
Pour le français et l'espagnol, la commande egrep fonctionne plutôt bien puisque cygwin supporte les caractères latins. En revanche pour l'hébreu c'est une autre histoire.. en effet, cygwin ne reconnaît pas les caractères hébraïques.. et donc nous devons modifier un peu la boucle.. nous devons créer les fichiers contexte.txt à partir des fichiers contexte.html :
Une fois la boucle faite, on pourrait se dire que notre travail est terminé.. eh bien non!! il nous reste encore pas mal de travail.. En effet, Serge Fleury nous a fait remarqué que nous travaillons avec des locutions tels que "tenir la parole". Et du coup ça rend la tâche beaucoup difficile quant il s'agit de chercher les contextes.. On ne trouve pas forcément "tenir sa parole" dans tous les liens.. Cette locution peut être déclinée : "elle tient sa parole.....".. Nous devons donc chercher des expressions régulières qui nous permettraient de résoudre ça..
Allez courage!! c'est bientôt la fin.. :).. Encore quelques lignes de script et notre tableau sera enfin complet
mercredi 8 décembre 2010
Problèmes hébraiques ...
Bon, d'après nos travaux, l'hébreu est une langue compliquée à traiter, et qui en même temps, pose des problèmes de codages intéressants.
Effectivement nous rencontrons des problèmes pour trouver les contextes en hébreu.
Nous espérons donc trouver une solution vite afin de passer aux étapes suivantes du projet qui sont quand même, avouons le, plus funs!!
A la semaine prochaine.
Effectivement nous rencontrons des problèmes pour trouver les contextes en hébreu.
Nous espérons donc trouver une solution vite afin de passer aux étapes suivantes du projet qui sont quand même, avouons le, plus funs!!
A la semaine prochaine.
mardi 7 décembre 2010
Voila un 1er tableau
Bon comme vous pouvez le voir.. on a réussi à faire un tableau ..
Seul hic, il n'est pas très beau.. Alors vite vite du CSS dans le script pour un tableau tout beau :)
mercredi 1 décembre 2010
-o, vive la galère!
Alors, après deux semaines de tentatives vaines pour résoudre le problème d'encodage et de dump vers l'UTF-8, il semblerait que le pc que nous utilisions jusqu'à présent avait décidé de faire son capricieux.
Effectivement, la commande -o ne fonctionne pas. Notre problème a donc trouvé une solution par le biais d'une modification du script et par l'utilisation de la commande -i en solitaire :'(
Voilà donc le script utilisé, sésame des problèmes rencontrés auparavant.
#!/bin/bash
echo "Donnez le nom du dossier contenant les fichiers de liens http : ";
read dossier;
echo "Donnez le nom du fichier html où stocker ces liens dans des tableaux : ";
read tablo;
echo "<html><head><title>tableau de liens</title></head><body>" >> $tablo;
i=1;
j=1;
for fichier in `ls $dossier`
{
echo "<table border=1>" >> $tablo;
echo "<tr><td align="center" bgcolor=\"silver\" colspan=\"7\"><b>Fichier $fichier</b></td></tr>" >> $tablo;
echo "<tr><td>Numéros</td><td>URLs</td><td>Pages aspirées</td><td>Dump initial</td><td>Dump utf-8</td><td>Contextes utf-8</td><td>Contextes html</td>" >> $tablo;
mkdir -p ../CONTEXTES/$j ;
mkdir -p ../DUMP-TXT/$j ;
mkdir -p ../PAGES-ASPIREES/$j ;
for nom in `cat $dossier/$fichier`
{
curl -o ../PAGES-ASPIREES/$j/$i.html $nom
retourcurl=$? ;
echo "RETOUR CURL : $retourcurl";
if [[ $retourcurl == 0 ]]
then
encodage=$(file -i ../PAGES-ASPIREES/$j/$i.html);
echo "ENCODAGE initial : $encodage";
if [[ $encodage == "(utf|UTF)-8" ]]
then
lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$j/$i.html > ../DUMP-TXT/$j/$i-utf8.txt ;
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i.txt\">$i.txt</a><br/><small>($encodage)</small></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.html\">$i-utf8.html</a></td></tr>" >> $tablo;
else
echo "on cherche un charset dans la page aspiree...";
if egrep -qi "(charset=.*?(\"|\')|encoding=.*?(\"|\'))" ../PAGES-ASPIREES/$j/$i.html ;
then
echo "Presence d'un charset...";
encodage=$(egrep -m 1 -o '(((utf|UTF)-(8|16|32))|(gb|GB)(k|K|2312|18030)|(iso|ISO|Iso)-8859-(\w)(\w)?|(WINDOWS|windows)-1252|(WINDOWS|windows)-1256|((m|M)(a|A)(c|C)(R|r)(O|o)(M|m)(a|A)(n|N))|us-ascii)' ../PAGES-ASPIREES/$j/$i.html | sort -u) ;
echo "charset extrait : $encodage ";
VERIFENCODAGEDANSICONV=$(iconv -l | egrep -i $encodage | sort -u);
if [[ $VERIFENCODAGEDANSICONV == "" ]]
then
echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> inconnu par iconv, on ne fait rien"
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
else
echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> connu par iconv, c'est parti ==> lynx, iconv..."
lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$j/$i.html > ../DUMP-TXT/$j/$i.txt ;
echo "ENCODAGE final : $encodage (avant conversion vers utf-8)";
iconv -f $encodage -t utf-8 ../DUMP-TXT/$j/$i.txt > ../DUMP-TXT/$j/$i-utf8.txt
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i.txt\">$i.txt</a><br/><small>($encodage)</small></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.html\">$i-utf8.html</a></td></tr>" >> $tablo;
fi
else
echo "Pas de charset detecte : on ne fait rien pour le DUMP... ";
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
fi
fi
else
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\" bgcolor=\"red\">Page non aspiree...</td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
fi
let "i+=1";
}
let "i+=1";
let "j+=1";
}
echo "</table>" >> $tablo;
echo "<br>" >> $tablo;
echo "</body></html>" >> $tablo;
Effectivement, la commande -o ne fonctionne pas. Notre problème a donc trouvé une solution par le biais d'une modification du script et par l'utilisation de la commande -i en solitaire :'(
Voilà donc le script utilisé, sésame des problèmes rencontrés auparavant.
#!/bin/bash
echo "Donnez le nom du dossier contenant les fichiers de liens http : ";
read dossier;
echo "Donnez le nom du fichier html où stocker ces liens dans des tableaux : ";
read tablo;
echo "<html><head><title>tableau de liens</title></head><body>" >> $tablo;
i=1;
j=1;
for fichier in `ls $dossier`
{
echo "<table border=1>" >> $tablo;
echo "<tr><td align="center" bgcolor=\"silver\" colspan=\"7\"><b>Fichier $fichier</b></td></tr>" >> $tablo;
echo "<tr><td>Numéros</td><td>URLs</td><td>Pages aspirées</td><td>Dump initial</td><td>Dump utf-8</td><td>Contextes utf-8</td><td>Contextes html</td>" >> $tablo;
mkdir -p ../CONTEXTES/$j ;
mkdir -p ../DUMP-TXT/$j ;
mkdir -p ../PAGES-ASPIREES/$j ;
for nom in `cat $dossier/$fichier`
{
curl -o ../PAGES-ASPIREES/$j/$i.html $nom
retourcurl=$? ;
echo "RETOUR CURL : $retourcurl";
if [[ $retourcurl == 0 ]]
then
encodage=$(file -i ../PAGES-ASPIREES/$j/$i.html);
echo "ENCODAGE initial : $encodage";
if [[ $encodage == "(utf|UTF)-8" ]]
then
lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$j/$i.html > ../DUMP-TXT/$j/$i-utf8.txt ;
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i.txt\">$i.txt</a><br/><small>($encodage)</small></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.html\">$i-utf8.html</a></td></tr>" >> $tablo;
else
echo "on cherche un charset dans la page aspiree...";
if egrep -qi "(charset=.*?(\"|\')|encoding=.*?(\"|\'))" ../PAGES-ASPIREES/$j/$i.html ;
then
echo "Presence d'un charset...";
encodage=$(egrep -m 1 -o '(((utf|UTF)-(8|16|32))|(gb|GB)(k|K|2312|18030)|(iso|ISO|Iso)-8859-(\w)(\w)?|(WINDOWS|windows)-1252|(WINDOWS|windows)-1256|((m|M)(a|A)(c|C)(R|r)(O|o)(M|m)(a|A)(n|N))|us-ascii)' ../PAGES-ASPIREES/$j/$i.html | sort -u) ;
echo "charset extrait : $encodage ";
VERIFENCODAGEDANSICONV=$(iconv -l | egrep -i $encodage | sort -u);
if [[ $VERIFENCODAGEDANSICONV == "" ]]
then
echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> inconnu par iconv, on ne fait rien"
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
else
echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> connu par iconv, c'est parti ==> lynx, iconv..."
lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$j/$i.html > ../DUMP-TXT/$j/$i.txt ;
echo "ENCODAGE final : $encodage (avant conversion vers utf-8)";
iconv -f $encodage -t utf-8 ../DUMP-TXT/$j/$i.txt > ../DUMP-TXT/$j/$i-utf8.txt
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i.txt\">$i.txt</a><br/><small>($encodage)</small></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.html\">$i-utf8.html</a></td></tr>" >> $tablo;
fi
else
echo "Pas de charset detecte : on ne fait rien pour le DUMP... ";
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
fi
fi
else
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\" bgcolor=\"red\">Page non aspiree...</td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
fi
let "i+=1";
}
let "i+=1";
let "j+=1";
}
echo "</table>" >> $tablo;
echo "<br>" >> $tablo;
echo "</body></html>" >> $tablo;
mercredi 24 novembre 2010
A la recherche de l'utf-8
le script présenté ci-dessous permet de trouver le charset d'origine de chaque url.. Une fois l'encodage trouvé, s'il n'est pas en utf-8 nous devons tout d'abord le changer afin que toutes les urls soient en utf-8 grâce à la commande inconv. Et une fois le problème d'encodage réglé nous pouvons dumper les pages aspirées :
#!/bin/bash
echo "Donnez le nom du dossier contenant les fichiers de liens http : ";
read dossier;
echo "Donnez le nom du fichier html où stocker ces liens dans des tableaux : ";
read tablo;
echo "<html><head><title>tableau de liens</title></head><body>" >> $tablo;
i=1;
for fichier in `ls $dossier`
{
echo "<table border=1>" >> $tablo;
echo "<tr><td align="center" bgcolor=\"silver\" colspan=\"7\"><b>Fichier $fichier</b></td></tr>" >> $tablo;
echo "<tr><td>Numéros</td><td>URLs</td><td>Pages aspirées</td><td>Dump initial</td><td>Dump utf-8</td><td>Contextes utf-8</td><td>Contextes html</td>" >> $tablo;
for nom in `cat $dossier/$fichier`
{
wget -O ../PAGES-ASPIREES/$i.html $nom
retourwget=$? ;
echo "RETOUR WGET : $retourwget";
if [[ $retourwget == 0 ]]
then
encodage=$(file -i ../PAGES-ASPIREES/$i.html);
echo "ENCODAGE initial : $encodage";
if [[ $encodage == "utf-8" ]]
then
lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$i.html > ../DUMP-TXT/$i-utf8.txt ;
else
echo "on cherche un charset dans la page aspiree...";
if egrep -qi "(charset ?=.*?(\"|\')|encoding ?=.*?(\"|\'))" ../PAGES-ASPIREES/$i.html ;
then
echo "Presence d'un charset...";
encodage=$(egrep -m 1 -o '(((utf|UTF)-(8|16|32))|(gb|GB)(k|K|2312|18030)|(iso|ISO|Iso)-8859-(\w)(\w)?|(WINDOWS|windows)-1252|(WINDOWS|windows)-1256|((m|M)(a|A)(c|C)(R|r)(O|o)(M|m)(a|A)(n|N))|us-ascii)' ../PAGES-ASPIREES/$i.html | sort -u) ;
echo "charset extrait : $encodage ";
VERIFENCODAGEDANSICONV=$(iconv -l | egrep -io $encodage | sort -u);
if [[ $VERIFENCODAGEDANSICONV == "" ]]
then
echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> inconnu par inconv, on ne fait rien"
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
else
echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> connu par inconv, c'est parti ==> lynx, iconv..."
lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$i.html > ../DUMP-TXT/$i.txt ;
echo "ENCODAGE final : $encodage (avant conversion vers utf-8)";
iconv -f $encodage -t utf-8 ../DUMP-TXT/$i.txt > ../DUMP-TXT/$i-utf8.txt
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$i.txt\">$i.txt</a><br/><small>($encodage)</small></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$i-utf8.html\">$i-utf8.html</a></td></tr>" >> $tablo;
fi
else
echo "Pas de charset detecte : on ne fait rien pour le DUMP... ";
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
fi
fi
else
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\" bgcolor=\"red\">Page non aspiree...</td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
fi
let "i+=1";
}
let "i+=1";
let "j+=1";
}
echo "</table>" >> $tablo;
echo "<br>" >> $tablo;
echo "</body></html>" >> $tablo;
#!/bin/bash
echo "Donnez le nom du dossier contenant les fichiers de liens http : ";
read dossier;
echo "Donnez le nom du fichier html où stocker ces liens dans des tableaux : ";
read tablo;
echo "<html><head><title>tableau de liens</title></head><body>" >> $tablo;
i=1;
for fichier in `ls $dossier`
{
echo "<table border=1>" >> $tablo;
echo "<tr><td align="center" bgcolor=\"silver\" colspan=\"7\"><b>Fichier $fichier</b></td></tr>" >> $tablo;
echo "<tr><td>Numéros</td><td>URLs</td><td>Pages aspirées</td><td>Dump initial</td><td>Dump utf-8</td><td>Contextes utf-8</td><td>Contextes html</td>" >> $tablo;
for nom in `cat $dossier/$fichier`
{
wget -O ../PAGES-ASPIREES/$i.html $nom
retourwget=$? ;
echo "RETOUR WGET : $retourwget";
if [[ $retourwget == 0 ]]
then
encodage=$(file -i ../PAGES-ASPIREES/$i.html);
echo "ENCODAGE initial : $encodage";
if [[ $encodage == "utf-8" ]]
then
lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$i.html > ../DUMP-TXT/$i-utf8.txt ;
else
echo "on cherche un charset dans la page aspiree...";
if egrep -qi "(charset ?=.*?(\"|\')|encoding ?=.*?(\"|\'))" ../PAGES-ASPIREES/$i.html ;
then
echo "Presence d'un charset...";
encodage=$(egrep -m 1 -o '(((utf|UTF)-(8|16|32))|(gb|GB)(k|K|2312|18030)|(iso|ISO|Iso)-8859-(\w)(\w)?|(WINDOWS|windows)-1252|(WINDOWS|windows)-1256|((m|M)(a|A)(c|C)(R|r)(O|o)(M|m)(a|A)(n|N))|us-ascii)' ../PAGES-ASPIREES/$i.html | sort -u) ;
echo "charset extrait : $encodage ";
VERIFENCODAGEDANSICONV=$(iconv -l | egrep -io $encodage | sort -u);
if [[ $VERIFENCODAGEDANSICONV == "" ]]
then
echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> inconnu par inconv, on ne fait rien"
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
else
echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> connu par inconv, c'est parti ==> lynx, iconv..."
lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$i.html > ../DUMP-TXT/$i.txt ;
echo "ENCODAGE final : $encodage (avant conversion vers utf-8)";
iconv -f $encodage -t utf-8 ../DUMP-TXT/$i.txt > ../DUMP-TXT/$i-utf8.txt
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$i.txt\">$i.txt</a><br/><small>($encodage)</small></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$i-utf8.html\">$i-utf8.html</a></td></tr>" >> $tablo;
fi
else
echo "Pas de charset detecte : on ne fait rien pour le DUMP... ";
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
fi
fi
else
echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\" bgcolor=\"red\">Page non aspiree...</td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non détecté</small></td></tr>" >> $tablo;
fi
let "i+=1";
}
let "i+=1";
let "j+=1";
}
echo "</table>" >> $tablo;
echo "<br>" >> $tablo;
echo "</body></html>" >> $tablo;
Problème!!!!!!!!!!!
Certaines pages dont l'encodage n'est soit disant pas détecté ne sont pas dumpées.. Or lorsqu'on regarde le code source des pages html, on retrouve différents charset : utf-8; ISO 8859-* qui ne sont pas pris en compte par notre script.... WHYYYYYYYYYYYYYYYYYYYYYY????????
Inscription à :
Articles (Atom)