Page Actions:
gedit tenders.sh
#!/bin/bash list=`cat /home/bin/tenders.list` # Apmeklējamo lapu saraksts cd /home/www/misc/ # Failu katalogs prevfile="Tenders_old.html" # Vecais fails, pēc kura skatās izmaiņas thisfile="Tenders.html" # Tekošais pilnais fails newfile="Tenders_new.html" # Pēdējo izmaiņu fails # Izveido veco failu, ja tāda nav, lai ir ar ko salīdzināt if [ ! -f $prevfile ]; then if [ -f $thisfile ]; then mv $thisfile $prevfile else touch $prevfile fi touch $thisfile fi # Nosaka vecā faila modificēšanas laiku week=`date +'%Y%W'` filedate=`date -r $prevfile +'%F %R'` fileweek=`date -r $prevfile +'%Y%W'` let "weekdiff=$week-$fileweek" # Ja tekošais fails vecāks par 1 nedēļu, pārsauc to par veco failu if [ $weekdiff -gt 1 ]; then mv $thisfile $prevfile fi ################################# ## Izveido tekošā faila saturu ## ################################# echo "<html><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/> \ <link rel='stylesheet' type='text/css' href='tenders.css' /> </head>" > $thisfile for i in $list; do base="http:\/\/`echo $i|awk -F '/' '{print $3}'`\/" # aizver tegus, ja salauzta HTMLa dēļ kāds nav aizvērts echo '</span></div></td></tr></table>' >> $thisfile echo "<h2><a class='Heading' href='$i'>$i</a></h2> <!--`date +'%F %T'` -->" >> $thisfile # echo $i wget -t1 --connect-timeout=30 $i -O Tenders.tmp >/dev/null 2>&1 charset=`grep -i windows-1257 Tenders.tmp` if [ "$charset" != "" ]; then iconv -f windows-1257 -t utf8 Tenders.tmp > Tenders.new.tmp 2>/dev/null mv Tenders.new.tmp Tenders.tmp fi # ---- Satura tīrīšana ---- # ideālu rezultātu ar straumētu satura apstrādi iegut nav ismējams, jo praktiski visām lapām HTMLs ir nepareizs # līdz ar to, mēģinām panākt daudzmaz baudāmu satura vienkāršošanu ar pieteikami vienkāršiem līdzekļiem # novāc HTML hederus sed -ie '/<head/,/<\/head>/d' Tenders.tmp sed -ie '/<HEAD/,/<\/HEAD>/d' Tenders.tmp # izmet skriptus sed -ie '/<script /,/<\/script>/d' Tenders.tmp sed -ie '/<SCRIPT /,/<\/SCRIPT>/d' Tenders.tmp # izmet komentārus, jo tie traucē pareizi izmest liekos HTML tagus sed -ie '/<!--/,/-->/d' Tenders.tmp # Izmaina vajadzigos HTML tagus, lai tos neietekmē globālā izmešana # 1. hipersaites sed -ie 's/<\([/]\?\(a\)[^>]*\)>/={={={\1}=}=}=/g' Tenders.tmp # 2. noslēdzošos tagus, kurus aizstās ar <br/> sed -ie 's/<\/\(tr\|th\|p\|div\|table\|span\|h1\|h2\h3\)[^>]*>/===={0}====/gI' Tenders.tmp sed -ie 's/<br\/[ ]*>/===={0}====/gI' Tenders.tmp # izmet visus tagus, izņemot hipersates sed -e :a -e 's/<[^>]*>//g;/</N;//ba' Tenders.tmp > Tenders1.tmp mv Tenders1.tmp Tenders.tmp # atjauno hipersaišu atverošās un aizverošās iekavas sed -ie 's/={={={/</g' Tenders.tmp sed -ie 's/}=}=}=/>/g' Tenders.tmp # izmet no hipersaitēm sesijas numurus sed -ie 's/\(\(php\|j\)ses\(s\)*\(ion\)*id\)=[A-Z0-9]*//gI' Tenders.tmp # aizstāj relativās saites ar absolūtajām sed -ie "s/href=\"[^http]/href=\"$base/g" Tenders.tmp sed -ie "s/href='[^http]/href=\'$base/g" Tenders.tmp # Aizvieto mainītos noslēdzošos tegus ar <br/>, izmet atkārtojošos sed -n '1h;1!H;${;g;s/===={[0= \t\f\v\n]*}====/<br\/>/g;p;}' Tenders.tmp > Tenders1.tmp mv Tenders1.tmp Tenders.tmp cat Tenders.tmp >> $thisfile done # salīdzina iepriekšējā faila versiju ar tekošo un parāda izmaiņas echo "<html><head><meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/> \ <link rel='stylesheet' type='text/css' href='tenders.css' /> </head>" > $newfile echo "<h1>Pasūtījumu izmaiņas no $filedate uz " `date +'%F %R'` " </h1>" >> $newfile diff --old-line-format='' --new-line-format='%L' --unchanged-group-format='' $prevfile $thisfile >> $newfile
chmod +x tenders.sh
gedit tenders.list
crontab -e
0 8-18/2 * * 1-5 /home/bin/tenders.sh