source: titan/mediathek/localparser_secret/kkiste.sh @ 39629

Last change on this file since 39629 was 39629, checked in by obi, 2 years ago

fix

  • Property svn:executable set to *
File size: 9.7 KB
Line 
1#!/bin/bash
2# box parser for titannit
3
4. /tmp/localhoster/hoster.sh
5
6SRC=$1
7INPUT=$2
8PARAM=$3
9PAGE=$4
10
11FILENAME=`echo $PARAM | tr '/' '.'`
12
13URL="http://kkiste.to/"
14PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
15NAME=`echo -n ${PARSER:0:2} | tr '[a-z]' '[A-Z]'`${PARSER:2}
16
17rm -rf $TMP > /dev/null 2>&1
18mkdir $TMP > /dev/null 2>&1
19
20if [ `echo $SRC | grep ^"/mnt/parser" |wc -l` -gt 0 ];then
21        TYPE="$SRC - Shell script"
22elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then
23        TYPE="Swap - Shell script"
24elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then
25        TYPE="Mnt - Shell script"
26else
27        TYPE="Flash - Shell script"
28fi
29
30init()
31{
32        echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#0"
33}
34
35mainmenu()
36{
37        echo "Neue Filme#$SRC $SRC videos neue-filme/?page= 1#http://atemio.dyndns.tv/mediathek/menu/all-newfirst.jpg#all-newfirst.jpg#$NAME#0" >$TMP/$PARSER.$INPUT.list
38        echo "Kinofilme#$SRC $SRC videos aktuelle-kinofilme/?page= 1#http://atemio.dyndns.tv/mediathek/menu/all-newfirst.jpg#all-newfirst.jpg#$NAME#0" >>$TMP/$PARSER.$INPUT.list
39        echo "Search#$SRC $SRC search 'search/?q=%search%'#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >>$TMP/$PARSER.$INPUT.list
40        echo "$TMP/$PARSER.$INPUT.list"
41}
42
43search()
44{
45        if [ -e "$TMP/$PARSER.$INPUT.$FILENAME.list" ] ; then
46                rm $TMP/$PARSER.$INPUT.$FILENAME.list > /dev/null 2>&1
47        fi
48
49        piccount=0
50        $curlbin "$URL/$PARAM" -o "$TMP/cache.$PARSER.$INPUT.1"
51        cat $TMP/cache.$PARSER.$INPUT.1 | tr '\n' '\r' |  tr '\r' ' ' | tr '\n' ' ' | tr '\t' ' ' | sed 's/ \+/ /g' | sed 's!<li class="mbox list"!\nfound=!g' | sed 's!<div class="clear">!\n<div class="clear">!g' | grep ^"found=" >$TMP/cache.$PARSER.$INPUT.2
52
53        while read -u 3 ROUND; do
54                ID=`echo $ROUND | cut -d'"' -f1 | tail -n1`
55                PIC=`echo $ROUND | sed 's!"url": !\nurl=!g' | grep ^url= | cut -d'"' -f2 | tail -n1`
56                TITLE=`echo $ROUND | sed 's!class="title">!\ntitle=<!g' | grep ^title= | cut -d'<' -f2`
57                NEWPAGE=`echo $ROUND | sed 's!<a href=!\nfound=!g' | grep ^found= | cut -d'"' -f2 | tail -n1`
58
59                PIC=`$curlbin "$URL/$NEWPAGE" | tr '\n' '\r' |  tr '\r' ' ' | tr '\n' ' ' | tr '\t' ' ' | sed 's/ \+/ /g' | sed 's!<img src=!\nfound=!g' | grep ^found= | cut -d'"' -f2 | tail -n1`
60
61                if [ -z "$PIC" ]; then
62                        PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
63                fi
64
65                TITLE=`echo $TITLE | sed -e 's/&#038;/&/g' -e 's/&amp;/und/g' -e 's/&quot;/"/g' -e 's/&lt;/\</g' -e 's/&#034;/\"/g' -e 's/&#039;/\"/g' -e 's/#034;/\"/g' -e 's/#039;/\"/g' -e 's/&szlig;/Ãx/g' -e 's/&ndash;/-/g' -e 's/&Auml;/Ã/g' -e 's/&Uuml;/ÃS/g' -e 's/&Ouml;/Ã/g' -e 's/&auml;/ä/g' -e 's/&uuml;/ü/g' -e 's/&ouml;/ö/g' -e 's/&eacute;/é/g' -e 's/&egrave;/è/g' -e 's/%F6/ö/g' -e 's/%FC/ü/g' -e 's/%E4/ä/g' -e 's/%26/&/g' -e 's/%C4/Ã/g' -e 's/%D6/Ã/g' -e 's/%DC/ÃS/g' -e 's/%28/(/g' -e 's/%29/)/g' -e 's/%3A/:/g' -e 's/%40/@/g' -e 's/%2B/&/g' -e 's/%C3/A/g' -e 's/%B1/&/g' -e 's/%5B//g' -e 's/%5D//g' -e 's!%2F!/!g' -e 's/|/ /g' -e 's/(/ /g' -e 's/)/ /g' -e 's/+/ /g' -e 's/\//-/g' -e 's/,/ /g' -e 's/;/ /g' -e 's/:/ /g' -e 's/\.\+/./g'`
66
67                if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
68                        if [ ! -e $TMP/$PARSER.$INPUT.$FILENAME.list ];then
69                                touch $TMP/$PARSER.$INPUT.$FILENAME.list
70                        fi
71                        piccount=`expr $piccount + 1`
72                        LINE="$TITLE $LANG#$SRC $SRC parts $NEWPAGE#$PIC#$PARSER.$NEWPAGE.$FILENAME.$piccount.jpg#$NAME#0"
73
74                        echo "$LINE" >> $TMP/$PARSER.$INPUT.$FILENAME.list
75                fi
76
77        done 3<$TMP/cache.$PARSER.$INPUT.2
78        rm $TMP/cache.* > /dev/null 2>&1
79
80        echo "$TMP/$PARSER.$INPUT.$FILENAME.list"
81}
82
83videos()
84{
85        $curlbin -o - $URL$PARAM$PAGE | awk -v SRC=$SRC -v INPUT=$INPUT -v PARAM=$PARAM -v PAGE=$PAGE -v PARSER=$PARSER -v NAME=$NAME '
86
87BEGIN { title=""
88        url=""
89        pic=""
90      }
91
92/<a href="/ { if(match($0, /class="title">/) != 0) {
93                 i = match($0, /<a href="/)
94                 split(substr($0, i), a, "\"")
95                 url = a[2]
96                 i = match($0, / title="Jetzt /)
97                 split(substr($0, i), a, "\"")
98                 title = substr(a[2], 7, length(a[2]) - 21)
99              }
100            }
101
102/<img src="/ { i = match($0, /<img src="/)
103               split(substr($0, i), a, "\"")
104               pic = a[2]
105             }
106
107/<div class="title"><strong>/ { n = split(pic, a, "/")
108                                pic2 = a[n]
109                                print title "#" SRC " " SRC " parts " url "#" pic "#" pic2 "#" NAME "#0"
110                                title=""
111                                url=""
112                                pic=""
113                                pic2=""
114                              }
115
116END   { print "Page " PAGE + 1 "#" SRC " " SRC " " INPUT " " PARAM " " PAGE + 1 "#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#" NAME "#0"
117      }
118' >$TMP/$PARSER.$INPUT.list
119        echo "$TMP/$PARSER.$INPUT.list"
120}
121
122parts()
123{
124        $curlbin -o - $URL$PARAM >$TMP/cache.$PARSER.$INPUT.1
125
126        cat $TMP/cache.$PARSER.$INPUT.1 | awk -v SRC=$SRC -v INPUT=$INPUT -v PARAM=$PARAM -v PAGE=$PAGE -v PARSER=$PARSER -v NAME=$NAME -v FILENAME=$FILENAME'
127BEGIN { kz_parts=0
128        count=1
129        extra=test
130      }
131
132/<div class="mediabar">/ { kz_parts=1
133                           next
134                 }
135/<select class="seasonselect"/ { extra=1
136                           next
137                 }
138/<option value="/ { if(extra=1) {
139                 i = match($0, /<option value="/)
140                 split(substr($0, i), a, "\"")
141                 #print url
142                 title = a[2]
143                                 if(title!="") {
144                         count = title
145                     print "Staffel: " title "#" SRC " " SRC " episodelist " PARAM " " "season=" count "#http://atemio.dyndns.tv/mediathek/menu/s" title ".jpg#s" title ".jpg#" NAME "#0"
146                         }
147                 next
148              }
149            }
150
151/<a href="/ { if(kz_parts!=0) {
152                 i = match($0, /<a href="/)
153                 split(substr($0, i), a, "\"")
154                 url = a[2]
155                 i = match($0, /target="/)
156                 split(substr($0, i), a, "\"")
157                 title = a[3]
158                 sub(/>/, "", title)
159                 sub(/<small>/, "", title)
160                 sub(/<\/small><\/a><\/li>/, "", title)
161                 split(title, a, "\[")
162                 split(a[2], b, "\]")
163                 split(b[1], a, " ")
164                 part = a[2]
165                 print title "#" SRC " " SRC " hoster " PARAM " " count "#http://atemio.dyndns.tv/mediathek/menu/" part ".jpg#" part ".jpg#" NAME "#111"
166                 count=count+1
167                 next
168              }
169            }
170
171/<div class="ad leaderboard">/ { kz_parts=0
172                                 next
173         }
174' >$TMP/$PARSER.$INPUT.$FILENAME.list
175        echo "$TMP/$PARSER.$INPUT.$FILENAME.list"
176}
177
178hoster()
179{
180        i=`expr $PAGE \* 2`
181        data=`$curlbin "$URL$PARAM" | grep "data-det=" | cut -d'"' -f4`
182
183        if [ ! -z "$data" ];then
184                id=`$curlbin --header "Content-Type: application/json" -H "X-Requested-With: XMLHttpRequest" -X POST --data "$data" --referer $URL$PARAM http://kkiste.to/xhr/link/ | cut -d'"' -f$i`
185        fi
186
187        if [ -z "$id" ];then
188                id=`$curlbin "$URL$PARAM" | grep "http://www.ecostream.tv/stream" | sed 's#http://www.ecostream.tv/stream/#\nlink=.#g' | cut -d"." -f2`
189        fi
190        echo "http://www.ecostream.tv/stream/$id.html"
191}
192
193episodelist()
194{
195        if [ -e "$TMP/$PARSER.$INPUT.$FILENAME.list" ] ; then
196                rm $TMP/$PARSER.$INPUT.$FILENAME.list
197        fi
198
199        SEASON=`echo $PAGE | cut -d"=" -f2`
200        PARAM1=`echo $PARAM | sed 's!.html!/!g'`
201
202        data=`$curlbin "$URL$PARAM" | grep "data-movie=" | cut -d'"' -f4`
203        $curlbin2 -H "X-Requested-With: XMLHttpRequest" -X POST --data "$PAGE" --referer $URL$PARAM http://kkiste.to/xhr/movies/episodes/$data/ -o "$TMP/cache.$PARSER.$INPUT.1"
204### curl -k -s -v -H "X-Requested-With: XMLHttpRequest" -X POST --data "season=1" --referer http://kkiste.to/24-twenty-four-stream.html http://kkiste.to/xhr/movies/episodes/24-twenty-four-stream/
205
206        cat $TMP/cache.$PARSER.$INPUT.1 | sed 's!},{!\n{!g' | cut -d"[" -f2 >$TMP/cache.$PARSER.$INPUT.2
207
208        count=0
209
210        while read -u 3 ROUND; do
211                count=`expr $count + 1`
212       
213                TITLE=`echo $ROUND | cut -d'"' -f10 | tail -n1`
214                ID=`echo $ROUND | cut -d'"' -f6 | tail -n1`
215                NEWPAGE="http://www.ecostream.tv/stream/$ID.html"
216                EPISODE=`echo $TITLE | tr ' ' '\n' | tail -n1`
217                PICNAME=s"$SEASON"e"$EPISODE".jpg
218                PIC="http://atemio.dyndns.tv/mediathek/menu/$PICNAME"
219
220                TITLE=`echo $TITLE | sed -e 's/&#038;/&/g' -e 's/&amp;/und/g' -e 's/&quot;/"/g' -e 's/&lt;/\</g' -e 's/&#034;/\"/g' -e 's/&#039;/\"/g' -e 's/#034;/\"/g' -e 's/#039;/\"/g' -e 's/&szlig;/Ãx/g' -e 's/&ndash;/-/g' -e 's/&Auml;/Ã/g' -e 's/&Uuml;/ÃS/g' -e 's/&Ouml;/Ã/g' -e 's/&auml;/ä/g' -e 's/&uuml;/ü/g' -e 's/&ouml;/ö/g' -e 's/&eacute;/é/g' -e 's/&egrave;/è/g' -e 's/%F6/ö/g' -e 's/%FC/ü/g' -e 's/%E4/ä/g' -e 's/%26/&/g' -e 's/%C4/Ã/g' -e 's/%D6/Ã/g' -e 's/%DC/ÃS/g' -e 's/%28/(/g' -e 's/%29/)/g' -e 's/%3A/:/g' -e 's/%40/@/g' -e 's/%2B/&/g' -e 's/%C3/A/g' -e 's/%B1/&/g' -e 's/%5B//g' -e 's/%5D//g' -e 's!%2F!/!g' -e 's/|/ /g' -e 's/(/ /g' -e 's/)/ /g' -e 's/+/ /g' -e 's/\//-/g' -e 's/,/ /g' -e 's/;/ /g' -e 's/:/ /g' -e 's/\.\+/./g'`
221
222                if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
223                        if [ ! -e $TMP/$PARSER.$INPUT.$FILENAME.list ];then
224                                touch $TMP/$PARSER.$INPUT.$FILENAME.list
225                        fi
226#gehen beide varianten weiss nur nicht ob die folgen dann stimmen
227#                       LINE="$TITLE#$SRC $SRC hoster $PARAM $count#$PIC#$PICNAME#$NAME#111"
228                        LINE="$TITLE#$NEWPAGE#$PIC#$PICNAME#$NAME#14"
229
230                        echo "$LINE" >> $TMP/$PARSER.$INPUT.$FILENAME.list
231                fi
232
233        done 3<$TMP/cache.$PARSER.$INPUT.2
234        rm $TMP/cache.* > /dev/null 2>&1
235
236        echo "$TMP/$PARSER.$INPUT.$FILENAME.list"
237}
238
239
240case $INPUT in
241        init) $INPUT;;
242        mainmenu) $INPUT;;
243        videos) $INPUT;;
244        parts) $INPUT;;
245        serien) $INPUT;;
246        hoster) $INPUT;;
247        search) $INPUT;;
248        page) $INPUT;;
249        episodelist) $INPUT;;
250esac
251
Note: See TracBrowser for help on using the repository browser.