Nous arrivons enfin à la partie de préparation de notre site web...Malheureusement, je ne pense pas pouvoir la finir ces jours-ci dû à certains problèmes d'organisation.
Mais ne désespérez pas chers lecteurs, une fois lancé, je vous l'indiquerai ici.
A bientôt !
lundi 30 décembre 2013
vendredi 27 décembre 2013
Wohoooo....Nuages !!!!
Ce post sera très très court...Nous allons simplement constituer des nuages pour voir les mots les plus fréquents. En gros c'est comme notre index global mais de manière plus intéressante
Pour cela, nous avons utilisé le site Woordle.
Il suffit d'y coller votre texte et vous aurez un très beau nuage comme ça:
Pour cela, nous avons utilisé le site Woordle.
Il suffit d'y coller votre texte et vous aurez un très beau nuage comme ça:
samedi 21 décembre 2013
Let: command not found
Chers lecteurs,
Vous avez dû remarquer que la commande let était de retour dans le script présenté..
Alors pour faire fonctionner cette commande, il faut lancer le script avec la commande suivante:
bash nomscript < input.txt
et non pas sh nomduscript < input.txt
Je dois avouer que c'est par hasard que je l'ai remarqué. Il était déjà tard le soir et je voulais tester les scripts présentés sur icampus pour les comparer au mien et j'ai donc tapé bash....après 2-3 essais j'ai remarqué que ces scripts contenaient la commande let et qu'elle ne m'avait pas donné d'erreur...
Eh oui...Le hasard fait bien les choses !!!
Vous avez dû remarquer que la commande let était de retour dans le script présenté..
Alors pour faire fonctionner cette commande, il faut lancer le script avec la commande suivante:
bash nomscript < input.txt
et non pas sh nomduscript < input.txt
Je dois avouer que c'est par hasard que je l'ai remarqué. Il était déjà tard le soir et je voulais tester les scripts présentés sur icampus pour les comparer au mien et j'ai donc tapé bash....après 2-3 essais j'ai remarqué que ces scripts contenaient la commande let et qu'elle ne m'avait pas donné d'erreur...
Eh oui...Le hasard fait bien les choses !!!
samedi 14 décembre 2013
Presque fini !!!
Après près d'un mois sans nouvelles, nous vous présentons notre script générant 10 colonnes.
Le script étant déjà bien commenté , nous nous abstenons de rallonger ce post
Le script étant déjà bien commenté , nous nous abstenons de rallonger ce post
#!/bin/bash
# Création des répertoires
mkdir ./CONTEXTES;
mkdir ./DUMP-TEXT;
mkdir ./PAGES-ASPIREES;
mkdir ./TABLEAUX;
# Création d'un répertoire temporaire pour les besoins du trameur (il est effacé à la fin de ce script)
mkdir -p TEMP;
# Input
read dossier_urls;
read fichier_tableau;
read motif;
# Style Page HTML
echo "<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Grèves dans le monde</title>" > $fichier_tableau;
# Compteur fichiers urls
j=1;
for fichier_url in `ls $dossier_urls`
do
# Titre Tableau
echo "<table align=center border="1" width="100%">
<tr>
<th bgcolor=\"black\" colspan="10" align="center">Tableau n°$j<br/ align="center"> Fichier: $fichier_url</th>
</tr>" >> $fichier_tableau;
# 1ère ligne du Tableau
echo "<tr><td bgcolor=\"black\" align="center">N°URL</td><td bgcolor=\"black\" align="center">URL</td><td bgcolor=\"black\" align="center">Pages aspirées</td><td bgcolor=\"black\" align="center">Retour WGET</td><td bgcolor=\"black\" align="center">DUMP initial<br/>(non utf-8)</td><td bgcolor=\"black\" align="center">DUMP UTF-8</td><td bgcolor=\"black\" align="center">CONTEXTES</td><td bgcolor=\"black\" align="center">CONTEXTES<br/>HTML</b></td><td bgcolor=\"black\" align="center">Nb Occurences</td><td bgcolor=\"black\" align="center">INDEX<br/>Fq mots</td></tr>" >> $fichier_tableau;
# Compteur urls
i=1;
# Compteur dumps
nbdump=0;
# Noms des sous-dossiers (remplace le compteur avec les noms des langues)
w=$(basename $fichier_url .txt)
# Créer les sous-répertoires
mkdir -p CONTEXTES/$w;
mkdir -p DUMP-TEXT/$w;
mkdir -p PAGES-ASPIREES/$w;
mkdir -p INDEX/$w;
mkdir -p FICHIERS-GLOBAUX/DUMP-GLOBAUX;
mkdir -p FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX;
mkdir -p FICHIERS-GLOBAUX/INDEX-GLOBAUX;
for ligne in `cat $dossier_urls/$fichier_url`
do
# Aspiration pages
wget -O ./PAGES-ASPIREES/$w/$i.html "$ligne";
# Vérification contenu
retourwget=$?;
contenupageaspiree=$(egrep -i -o "(400 )?Bad request|Moved Permanently|s interdit|Not Acceptable" ./PAGES-ASPIREES/$w/$i.html | sort -u);
# Méthode encodage 1 (file -i)
if test $retourwget == 0;
then
encodage=$(file -i ./PAGES-ASPIREES/$w/$i.html | cut -d= -f2);
# Encodage UTF-8
if test $encodage == "utf-8"
then
# Dump UTF-8
lynx -dump -nolist -display_charset=$encodage ./PAGES-ASPIREES/$w/$i.html > ./DUMP-TEXT/$w/$i-utf8.txt;
# Contextes UTF-8
egrep -i -A 1 -B 1 `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt > ./CONTEXTES/$w/$i-utf8.txt;
# Contextes HTML
perl ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$w/$i-utf8.txt ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt;
mv resultat-extraction.html ./CONTEXTES/$w/$i.html;
# Occurences
nbOccur=??;
nbOccur=$(egrep -c `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt);
# Index
cat ./DUMP-TEXT/$w/$i-utf8.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./INDEX/$w/$i.txt;
# Intégrer au tableau
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td> - </td><td><a href=\"../DUMP-TEXT/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i.html\">$i.html</a></td><td>$nbOccur</td><td><a href=\"../INDEX/$w/$i.txt\">$i.txt</a></td></tr>" >> $fichier_tableau;
# Contextes globaux
cat ./CONTEXTES/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX/CONTEXTES-GLOBAUX_$w.txt;
# Dump globaux
cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt;
# Index Global
cat ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./FICHIERS-GLOBAUX/INDEX-GLOBAUX/INDEX-GLOBAUX_$w.txt;
# Actualisation compteur dump
let "nbdump+=1";
# Méthode encodage 2 (iconv -l)
else
encodageiconv=$(iconv -l | egrep -io $encodage | sort -u);
if test "$encodageiconv" != "";
then
# Dump initial
lynx -dump -nolist -display_charset=$encodage ./PAGES-ASPIREES/$w/$i.html > ./DUMP-TEXT/$w/$i.txt;
# Conversion Dump initial en UTF-8
iconv -f $encodage -t utf-8 ./DUMP-TEXT/$w/$i.txt > ./DUMP-TEXT/$w/$i-utf8.txt;
# Contextes UTF-8
egrep -i -A 1 -B 1 `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt > ./CONTEXTES/$w/$i-utf8.txt;
# Occurences
nbOccur=??;
nbOccur=$(egrep -c `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt);
# Index
cat ./DUMP-TEXT/$w/$i-utf8.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./INDEX/$w/$i.txt;
# Contextes HTML
perl ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$w/$i-utf8.txt ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt;
mv resultat-extraction.html ./CONTEXTES/$w/$i.html;
# Intégrer au tableau
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td><a href=\"../DUMP-TEXT/$w/$i.txt\">$i.txt</a><br/>($encodage)</small></td><td><a href=\"../DUMP-TEXT/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i.html\">$i.html</a></td><td>$nbOccur</td><td><a href=\"../INDEX/$w/$i.txt\">$i.txt</a></td></tr>" >> $fichier_tableau;
# Contextes globaux
cat ./CONTEXTES/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX/CONTEXTES-GLOBAUX_$w.txt;
# Dump globaux
cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt;
# Index Global
cat ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./FICHIERS-GLOBAUX/INDEX-GLOBAUX/INDEX-GLOBAUX_$w.txt;
# Actualisation compteur dump
let "nbdump+=1";
# Méthode encodage 3 (egrep -i "<meta.*charset")
else
if egrep -i "<meta.*charset" ./PAGES-ASPIREES/$w/$i.html;
then
encodage=$(egrep -i "<meta.*charset" ./PAGES-ASPIREES/$w/$i.html | egrep -i -o 'charset *=[^\"]+' | tr [A-Z] [a-z] | sort -u | cut -f2 -d=);
encodageiconv=$(iconv -l | egrep -io $encodage | sort -u);
if test $encodageiconv == ""
then
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td></tr>" >> $fichier_tableau;
echo "Erreur Tableau $w ligne $i" >> ./Erreurs.txt;
else
# Dump initial
lynx -dump -nolist -display_charset=$encodage ./PAGES-ASPIREES/$w/$i.html > ./DUMP-TEXT/$w/$i.txt;
# Conversion Dump initial en UTF-8
iconv -f $encodage -t utf-8 ./DUMP-TEXT/$w/$i.txt > ./DUMP-TEXT/$w/$i-utf8.txt;
# Contextes UTF-8
egrep -i -A 1 -B 1 `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt > ./CONTEXTES/$w/$i-utf8.txt;
# Occurences
nbOccur=??;
nbOccur=$(egrep -c `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt);
# Index
cat ./DUMP-TEXT/$w/$i-utf8.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./INDEX/$w/$i.txt;
# Contextes HTML
perl ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$w/$i-utf8.txt ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt;
mv resultat-extraction.html ./CONTEXTES/$w/$i.html;
# Intégrer au tableau
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td><a href=\"../DUMP-TEXT/$w/$i.txt\">$i.txt</a><br/>($encodage)</td><td><a href=\"../DUMP-TEXT/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i.html\">$i.html</a></td><td>$nbOccur</td><td><a href=\"../INDEX/$w/$i.txt\">$i.txt</a></td></tr>" >> $fichier_tableau;
# Contextes globaux
cat ./CONTEXTES/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX/CONTEXTES-GLOBAUX_$w.txt;
# Dump globaux
cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt;
# Index Global
cat ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./FICHIERS-GLOBAUX/INDEX-GLOBAUX/INDEX-GLOBAUX_$w.txt;
# Actualisation compteur dump
let "nbdump+=1";
fi
# Méthode 3 ne fonctionne pas
else
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td></tr>" >> $fichier_tableau;
echo "Erreur Tableau $w ligne $i" > ./Erreurs.txt;
fi
fi
fi
# Si le WGET échoue
else
retourwget="Erreur";
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">$retourwget</td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">Page non aspirée</td></tr>" >> $fichier_tableau;
echo "Erreur Tableau $w ligne $i" >> ./Erreurs.txt;
fi
# Actualisation compteur urls
let "i+=1";
done
# Intégrer Fichiers globaux au tableau
echo "<tr><td colspan=\"5\"> </td><td><a href="../FICHIERS-GLOBAUX/DUMP/DUMP-GLOBAUX_$w.txt">Fichier DUMP<br/>global</a><br/>$nbdump fichier(s)</td><td><a href="../FICHIERS-GLOBAUX/CONTEXTES/CONTEXTES-GLOBAUX_$w.txt">Fichier CONTEXTES<br/>global</a><br/>$nbdump fichier(s)</td><td> </td><td colspan="1"></td><td><a href="../FICHIER-GLOBAUX/INDEX-GLOBAUX.txt">Fichier Index<br/>global</a><br/>$nbdump fichier(s)</td></tr>" >> $fichier_tableau;
# Fin du tableau
echo "</table>" >> $fichier_tableau;
# Actualisation compteur fichiers urls
let "j+=1";
done
# Fin page HTML
echo "</body>
</html>" >> $fichier_tableau;
Inscription à :
Articles (Atom)