#!/bin/bash echo "Donnez le nom du répertoire contenant les fichiers des URLs : "; read REP; echo "Donnez le nom du fichier html où stocker les tableaux des liens : "; read tablo; echo "
" >> $tablo; echo "Les TABLEAUX de données
" >> $tablo; #################################################### ####### Variable j pour compter les tableaux ####### #################################################### j=2; for fic in `ls $REP` do echo "" >> $tablo; j=$((j+1)); echo "
" >> $tablo; echo " Tableau n° $j
fichier : $fic" >> $tablo; ####################################################################################### ####### Variable i pour compter les URLs et mkdir pour création de dossiers ########### ####################################################################################### i=1; nbdump=0; mkdir -p ../FICHIERGLOBAUX; mkdir -p ../CONTEXTES/$j ; mkdir -p ../DUMP-TEXT/$j ; mkdir -p ../PAGES-ASPIREES/$j ; for nom in `cat $REP/$fic` do echo "================================================================"; echo "==========TRAITEMENT : $nom "; ###################################################### ####### on CURL et on determine l'encodage ########### ###################################################### curl -o ../PAGES-ASPIREES/$j/$i.html "$nom"; retourcurl=$? ; contenupageaspiree=$(egrep -i -o "(400 )?Bad request|Moved Permanently|s interdit|Not Acceptable" ../PAGES-ASPIREES/$j/$i.html | sort -u); if [ "$contenupageaspiree" != "" ] then retourcurl="$retourcurl n°URL URL PAGES ASPIREES Ret. CURL DUMP initial
(non utf-8)DUMP utf-8 CONTEXTES CONTEXTES
HTMLNB Occur
BAD"; fi echo "RETOUR CURL : $retourcurl"; if [ "$retourcurl" -eq 0 ] then ######################################################################## ####### file -i pour savoir l'encodage de la page aspirée ############## ######################################################################## encodage=$(file -i ../PAGES-ASPIREES/$j/$i.html | cut -d= -f2); echo "ENCODAGE initial : $encodage"; ############################################################################## ####### si l'encodage fourni est utf-8, on lynxe et dump !!! ################# ############################################################################## if [ "$encodage" = "UTF-8" ] then lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$j/$i.html > ../DUMP-TEXT/$j/$i-utf8.txt ; $motif | cut -f2 -d= ../PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt ; egrep -i "\b$motif\b" ../DUMP-TEXT/$j/$i-utf8.txt > ../CONTEXTES/$j/$i-utf8.txt ; nbOccur=??; nbOccur=$(egrep -o -i "\b$motif\b" ../DUMP-TEXT/$j/$i-utf8.txt | wc -l ); perl ../PROGRAMMES/minigrepmultilingue-v2.2-regexp/minigrepmultilingue.pl "UTF-8" ../DUMP-TEXT/$j/$i-utf8.txt ../PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt ; mv resultat-extraction.html ../CONTEXTES/$j/$i-utf8.html ; echo "" >> $tablo; cat ../CONTEXTES/$j/$i-utf8.txt >> ../FICHIERGLOBAUX/CONTEXTES-GLOBAUX_$j.txt ; cat ../DUMP-TEXT/$j/$i-utf8.txt >> ../FICHIERGLOBAUX/DUMP-GLOBAUX_$j.txt ; nbdump=$((nbdump+1)); ################################################################################ ####### sinon, echo "on cherche un charset dans la page aspiree..." ########### ################################################################################ else if egrep -i " $i $nom $i.html $retourcurl - $i-utf8.txt $i-utf8.txt $i-utf8.html $nbOccur ==> inconnu par inconv, on ne fait rien" echo " " >> $tablo; ######################################################################################## ####### le charset extrait est connu de iconv : on lynxe et on dump !!! ################ ######################################################################################## else echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> connu par inconv, c'est parti ==> lynx, iconv..." lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$j/$i.html > ../DUMP-TEXT/$j/$i.txt ; echo "ENCODAGE final : $encodage (avant conversion vers utf-8)"; iconv -f $encodage -t utf-8 ../DUMP-TEXT/$j/$i.txt > ../DUMP-TEXT/$j/$i-utf8.txt $motif | cut -f2 -d= ../PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt ; egrep -i "\b$motif\b" ../DUMP-TEXT/$j/$i-utf8.txt > ../CONTEXTES/$j/$i-utf8.txt ; nbOccur=??; nbOccur=$(egrep -o -i "\b$motif\b" ../DUMP-TEXT/$j/$i-utf8.txt | wc -l ); perl ../PROGRAMMES/minigrepmultilingue-v2.2-regexp/minigrepmultilingue.pl "UTF-8" ../DUMP-TEXT/$j/$i-utf8.txt ../PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt ; mv resultat-extraction.html ../CONTEXTES/$j/$i-utf8.html ; echo " $i $nom $i.html $retourcurl Encodage
non détectéEncodage
non détectéEncodage
non détecté- - - " >> $tablo; cat ../CONTEXTES/$j/$i-utf8.txt >> ../FICHIERGLOBAUX/CONTEXTES-GLOBAUX_$j.txt ; cat ../DUMP-TEXT/$j/$i-utf8.txt >> ../FICHIERGLOBAUX/DUMP-GLOBAUX_$j.txt ; nbdump=$((nbdump+1)); fi ######################################################################## ####### pas de charset détecté ######################################### ######################################################################## else echo "Pas de charset detecte : on ne fait rien pour le DUMP... "; echo " $i $nom $i.html $retourcurl $i.txt
($encodage)$i-utf8.txt $i-utf8.txt $i-utf8.html $nbOccur " >> $tablo; fi fi ######################################################################## ####### fin curl ok ######################################### ######################################################################## else echo " $i $nom $i.html $retourcurl Encodage
non détectéEncodage
non détecté- - - " >> $tablo; fi i=$((i+1)); done echo " $i $nom - $retourcurl - - - - - " >> $tablo; echo "   Fichier DUMP
global
$nbdump fichier(s)Fichier CONTEXTES
global
$nbdump fichier(s) 
" >> $tablo; done echo "" >> $tablo;