#!/bin/bash echo -e "Version: 1.6.0p7\nAgentOS: linux\nHostname: rhein-sieg-kreis\n\n<<>>" counter=0 URL="https://www.rhein-sieg-kreis.de/verwaltung-politik/presse/index.php?sp%3AdateRange%5B0%5D=-7&sp%3AdateRange%5B1%5D=__last__&sp%3Afulltext%5B0%5D=Coronavirus%3A+Sachstand+im+Rhein-Sieg-Kreis&sp%3Aout=rss&sp%3Acmp=search-1-0-searchResult&action=submit" ## wir crawlen die presseinformationen von rhein-sieg-kreis.de und holen uns den letzten Eintrag latestCoronaNews=`curl --silent -L ${URL} | grep presseinformationen | grep link | sed 's/.*//' | sed 's/<\/link>//' | head -n1` temp_file=$(mktemp) curl --silent -L ${latestCoronaNews} > ${temp_file} ## Der Quellcode ist der Webseite ist dermaßen Katastrophal, dass wir ihn aufarbeiten müssen ## wir parsen mit html2text und formatieren den Output davon ... html2text ${temp_file} | sed -e '/^$/d' -e '/^|$/d' | grep "\S" | while read line do ## mal schauen wie lange das funktiniert ... Tabellen einträge haben nur 3 Wörter (Gemeinde Namen) if [ "${isTable}" == "true" ] && [ `echo "${line}" | wc -w` -gt 3 ] then isTable="false" fi ## Tabellen (nach Behandlung mit html2text) fangen mit **Rhein-Sieg-Kreis\** an ## 2 in der Zahl, uns interessiert nur die Erste davon if [ "`echo "${line}" | grep "\*\*Rhein-Sieg-Kreis\*\*" > /dev/null 2>&1; echo $?`" == "0" ] && [ "${isTable}" != "false" ] then isTable="true" fi ## Recht billig aber effektiv, wir sind in einer Tabelle ... ## Leider beschäftigt der Rhein-Sieg-Kreis 1€ Entwickler, daher ist jedes HTML-Tabellenelement in einer Zeile untereinander ... if [ "${isTable}" == "true" ] then counter=$(( ${counter}+1 )) ## Aufarbeitung für Ausgabe line=`echo ${line} | sed 's/\*//g'` if [ ${counter} -eq 1 ]; then ORT=${line}; ORTs=`echo ${ORT} | sed 's/ /_/g'`; fi if [ ${counter} -eq 2 ]; then insgInfiziert=${line}; fi if [ ${counter} -eq 3 ]; then Todesfaelle=${line}; fi if [ ${counter} -eq 4 ]; then Genesen=${line}; fi if [ ${counter} -eq 5 ] then aktErkrankt=${line} counter=0 ## Ausgabe für local-Checks von CheckMM echo "0 Corona_${ORTs} Erkrankt=${aktErkrankt}|Infiziert=${insgInfiziert}|Genesen=${Genesen}|Todesfaelle=${Todesfaelle} aktuelle Fälle: ${aktErkrankt} gemeldete Fälle: ${insgInfiziert} Genesene: ${Genesen} Todesfälle: ${Todesfaelle}" fi fi done