Hallo ..
.. ich versuche gerade ein Script zu bauen, was das EPG für die Inxworld Sender zusammensucht und dann in ein XML baut.
Ich bin eigentlich auch schon fast fertig... nur eins will mir nicht gelingen.
Es gelingt mir aber einfach nicht, dass ab der stelle "Erstelle XML-Datei..." das array noch vorhanden ist.. hat da jemand ne Idee wie ich das anstellen könnte?
Ich denke das Script ist selbsterklärend:
Bash
#!/bin/bash
#set -x
# Berechne Programmseite (Datum)
START_NR=955
START_DATE="20060812"
TIME_DIFF=$(($(date +%s)-$(date +%s --date $START_DATE)))
DAY_DIFF=$(($TIME_DIFF/86400))
PROG=$(($DAY_DIFF+$START_NR))
# Adressen
FREEX_TV_URL="tv_program.php%3Ftv%3D1%26prg%3D"
XDREAM_TV_URL="tv_program.php%3Ftv%3D2%26prg%3D"
FREEX_TV2_URL="tv_program.php%3Ftv%3D4%26prg%3D"
# Beginn
TMP_FILE="/tmp/inxworld-epg"
COUNT=0
#array[0]=""
declare -a array
# Schleife zum durchlaufen der 3 Sender
while [ "$COUNT" -lt "1" ]
do
PROG_S=$PROG
# Schleife zum Durchlaufen einer Woche
while [ "$PROG_S" -lt "$(($PROG+1))" ]
do
case "$COUNT" in
"0")
wget --quiet --post-data "accord_enter=yes&click_img_zone=&choice_zone=2&where_i_go=${FREEX_TV_URL}${PROG_S}" http://www.inxworld.com/record_zone.php -O ${TMP_FILE}
CHANNELNAME="FREEX-TV"
;;
"1")
wget --quiet --post-data "accord_enter=yes&click_img_zone=&choice_zone=2&where_i_go=${XDREAM_TV_URL}${PROG_S}" http://www.inxworld.com/record_zone.php -O ${TMP_FILE}
CHANNELNAME="XDREAM-TV"
;;
"2")
wget --quiet --post-data "accord_enter=yes&click_img_zone=&choice_zone=2&where_i_go=${FREEX_TV2_URL}${PROG_S}" http://www.inxworld.com/record_zone.php -O ${TMP_FILE}
CHANNELNAME="FREEX-TV2"
;;
*)
echo "..."
;;
esac
START=""
cat ${TMP_FILE} | while read line
do
if [ "$(echo "$line" | grep "TV PROGRAM" )" ]
then
DAY=$(echo "$line" | awk -F'face="Verdana">' '{print $3}' | cut -d' ' -f1 )
fi
if [ "$(echo "$line" | grep "<strong>" | grep -v "TV PROGRAM" )" ]
then
# Daten ermitteln
START=$(echo "$line" | awk -Fstrong '{print $2}' | cut -d'>' -f2 | cut -d'<' -f1 )
TITLE=$(echo "$line" | awk -F'<td width="340" bgcolor="#222222">' '{print $2}' | cut -d'<' -f1 )
SECTION=$(echo "$line" | awk -F'alt="' '{print $2}' | cut -d'"' -f1 )
LANGUAGE=$(echo "$line" | awk -F'<td width="80" bgcolor="#222222">' '{print $2}' | cut -d'<' -f1 )
# ermittelte Werte ausgeben
echo "$CHANNELNAME - $DAY - $START - $TITLE - $SECTION - $LANGUAGE"
# Daten in Array Schreiben
Z=${#array[*]}
#echo "Z = $Z"
array[$Z]="$CHANNELNAME;$DAY;$START;$TITLE;$SECTION;$LANGUAGE"
echo "array[$Z]=${array[$Z]}"
#export array
fi
done
# n.sten Tag
PROG_S=$(($PROG_S+1))
done
# n.stes Programm...
COUNT=$(($COUNT+1))
done
echo "array[0]=${array[0]}
#array[0]="Dieser Text ist ein Element des Arrays - 0"
#array[1]="Dieser Text ist ein Element des Arrays - 1"
#array[2]="Dieser Text ist ein Element des Arrays - 2"
COUNT=0
echo "Erstelle XML-Datei..."
while [ "$COUNT" -lt "${#array[*]}" ]
do
echo ${array[$COUNT]}
# n.ster Eintrag
COUNT=$(($COUNT+1))
done
Alles anzeigen
Wäre euch sehr dankbar wenn wir ne Lösung finden.. kann ja nicht sein, dass der Inhalt einfach verschwindet..