#!/bin/bash read -p "Instance et nom d'utilisateur (exemple: identi.ca/gatitac): " account nombre=`wget -nv "http://$account" -O - | sed ':a;N;$!ba;s/\n/ /g' | awk -F '
' '{print $2}' | awk -F '
' '{print $2}' | awk -F '<' '{print $1}'`; echo "****************************" echo "Nombre de statuts: $nombre" pages=$(($nombre/20+1)) echo "Ça fait $pages pages à récupérer." read -p "On continue chef ? ENTRÉE pour oui." mkdir -p "temppages/" cd "temppages/" e=1 mpages=$(($pages+1)) while [ $e -lt $mpages ] do wget -nv "http://$account?page=$e" -O "page$e.html" e=$(($e + 1)) done # on enlève ce qui est inutile (on garde juste la liste des statuts) for file in *; do cat "$file" | sed ':a;N;$!ba;s/\n/ /g' | awk -F '
    ' '{print $2}' | awk -F '
' '{print $1}' >> "_$file"; rm "$file"; mv "_$file" "$file"; done cd .. mkdir -p "tempstatus/" cd "temppages/" echo "********************" echo "Extraction des statuts" echo "********************" echo "" for file in *; do #traitement dent par dent dent1=`cat "$file" | awk -F '' '{print $1}'` dent2=`cat "$file" | awk -F '' '{print $1}'` dent3=`cat "$file" | awk -F '' '{print $1}'` dent4=`cat "$file" | awk -F '' '{print $1}'` dent5=`cat "$file" | awk -F '' '{print $1}'` dent6=`cat "$file" | awk -F '' '{print $1}'` dent7=`cat "$file" | awk -F '' '{print $1}'` dent8=`cat "$file" | awk -F '' '{print $1}'` dent9=`cat "$file" | awk -F '' '{print $1}'` dent10=`cat "$file" | awk -F '' '{print $1}'` dent11=`cat "$file" | awk -F '' '{print $1}'` dent12=`cat "$file" | awk -F '' '{print $1}'` dent13=`cat "$file" | awk -F '' '{print $1}'` dent14=`cat "$file" | awk -F '' '{print $1}'` dent15=`cat "$file" | awk -F '' '{print $1}'` dent16=`cat "$file" | awk -F '' '{print $1}'` dent17=`cat "$file" | awk -F '' '{print $1}'` dent18=`cat "$file" | awk -F '' '{print $1}'` dent19=`cat "$file" | awk -F '' '{print $1}'` dent20=`cat "$file" | awk -F '' '{print $1}'` dentid1=`echo $dent1 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid2=`echo $dent2 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid3=`echo $dent3 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid4=`echo $dent4 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid5=`echo $dent5 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid6=`echo $dent6 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid7=`echo $dent7 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid8=`echo $dent8 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid9=`echo $dent9 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid10=`echo $dent10 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid11=`echo $dent11 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid12=`echo $dent12 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid13=`echo $dent13 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid14=`echo $dent14 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid15=`echo $dent15 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid16=`echo $dent16 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid17=`echo $dent17 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid18=`echo $dent18 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid19=`echo $dent19 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` dentid20=`echo $dent20 | awk -F 'id="notice-' '{print $2}' | awk -F '">' '{print $1}'` # détail: le printf sert à garder tout bien dans le bon ordre, jusqu'à 10 décimales echo $dent1 >> "../tempstatus/`printf "%010d" $dentid1`" echo $dent2 >> "../tempstatus/`printf "%010d" $dentid2`" echo $dent3 >> "../tempstatus/`printf "%010d" $dentid3`" echo $dent4 >> "../tempstatus/`printf "%010d" $dentid4`" echo $dent5 >> "../tempstatus/`printf "%010d" $dentid5`" echo $dent6 >> "../tempstatus/`printf "%010d" $dentid6`" echo $dent7 >> "../tempstatus/`printf "%010d" $dentid7`" echo $dent8 >> "../tempstatus/`printf "%010d" $dentid8`" echo $dent9 >> "../tempstatus/`printf "%010d" $dentid9`" echo $dent10 >> "../tempstatus/`printf "%010d" $dentid10`" echo $dent11 >> "../tempstatus/`printf "%010d" $dentid11`" echo $dent12 >> "../tempstatus/`printf "%010d" $dentid12`" echo $dent13 >> "../tempstatus/`printf "%010d" $dentid13`" echo $dent14 >> "../tempstatus/`printf "%010d" $dentid14`" echo $dent15 >> "../tempstatus/`printf "%010d" $dentid15`" echo $dent16 >> "../tempstatus/`printf "%010d" $dentid16`" echo $dent17 >> "../tempstatus/`printf "%010d" $dentid17`" echo $dent18 >> "../tempstatus/`printf "%010d" $dentid18`" echo $dent19 >> "../tempstatus/`printf "%010d" $dentid19`" echo $dent20 >> "../tempstatus/`printf "%010d" $dentid20`" done cd .. cd "tempstatus/" echo "********************" echo "Traitement des statuts" echo "********************" echo "" output=`echo $account | sed -e 's/\./-/g' | sed -e 's/\//_/g'` for file in *; do # dent texte denttexte=`cat "$file" | awk -F '

' '{print $2}' | awk -F '

' '{print $1}' | sed -e 's/<[^>]*>//g'` # dent date dentdate=`cat "$file" | awk -F '' '{print $1}'` # dent device dentdevice=`cat "$file" | awk -F '' '{print $2}' | awk -F '' '{print $1}' | sed -e 's/<[^>]*>//g' | sed 's/ //g'` # dent context instance=`echo $account | awk -F '/' '{print $1}'` dentcontexte=`cat "$file" | awk -F "$instance/conversation" '{print $2}' | awk -F '" class="response">' '{print $1}' | sed "s/\//$instance\/conversation\//"` echo "\"$file\",\"$dentdate\",\"$denttexte\",\"$dentdevice\",\"$dentcontexte\"" >> "../$output.csv" done cd .. echo "Nettoyage.." rm -rf "tempstatus/" rm -rf "temppages/"