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

Last change on this file since 40947 was 40919, checked in by obi, 4 years ago

fix

  • Property svn:executable set to *
File size: 12.0 KB
Line 
1#!/bin/bash
2# box parser for titannit
3
4. /tmp/localhoster/hoster.sh
5
6SRC=$1
7INPUT=$2
8PAGE=$3
9NEXT=$4
10
11FILENAME=`echo $PAGE | tr '/' '.' | tr '?' '.'  | tr '=' '.'`
12FILENAME=`echo $FILENAME | tr '&' '.'`
13
14if [ -z "$FILENAME" ]; then
15        FILENAME=none
16fi
17
18URL="http://kkiste.to/"
19PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
20NAME=`echo -n ${PARSER:0:2} | tr '[a-z]' '[A-Z]'`${PARSER:2}
21
22mkdir $TMP > /dev/null 2>&1
23
24if [ `echo $SRC | grep ^"/mnt/parser" |wc -l` -gt 0 ];then
25        TYPE="$SRC - Shell script"
26elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then
27        TYPE="Swap - Shell script"
28elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then
29        TYPE="Mnt - Shell script"
30else
31        TYPE="Flash - Shell script"
32fi
33
34init()
35{
36        rm -rf $TMP > /dev/null 2>&1
37        echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#0"
38}
39
40mainmenu()
41{
42        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
43        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
44        echo "Serien#$SRC $SRC videos serien/?page= 1#http://atemio.dyndns.tv/mediathek/menu/series.jpg#series.jpg#$NAME#0" >>$TMP/$PARSER.$INPUT.list
45        echo "Genre#$SRC $SRC genre#http://atemio.dyndns.tv/mediathek/menu/search.jpg#gebre.jpg#$NAME#0" >>$TMP/$PARSER.$INPUT.list
46        echo "A-Z#$SRC $SRC sorted#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#0" >>$TMP/$PARSER.$INPUT.list
47        echo "Search#$SRC $SRC search 'search/?q=%search%'#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >>$TMP/$PARSER.$INPUT.list
48
49#       echo "d 6#$SRC $SRC search 'film-index/d/?page=' 6#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#0" >>$TMP/$PARSER.$INPUT.list
50
51        echo "$TMP/$PARSER.$INPUT.list"
52}
53
54sorted()
55{
56        watchlist="0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z"
57
58        rm $TMP/$PARSER.$INPUT.list > /dev/null 2>&1
59
60        for ROUND0 in $watchlist; do
61                TITLE=`echo $ROUND0`
62                filename=`echo $TITLE`
63                echo "$TITLE#$SRC $SRC search film-index/$ROUND0/?page= 1#http://atemio.dyndns.tv/mediathek/menu/$filename.jpg#$filename.jpg#$NAME#0" >> $TMP/$PARSER.$INPUT.list
64        done
65        echo "$TMP/$PARSER.$INPUT.list"
66}
67
68genre()
69{
70        watchlist="
71                abenteuer
72                action
73                animation
74                biographie
75                bollywood
76                dokumentation
77                drama
78                familie
79                fantasy
80                geschichte
81                horror
82                klassiker
83                komoedie
84                kriegsfilm
85                krimi
86                musik
87                mystery
88                romantik
89                sci-fi
90                sport
91                thriller
92                western
93                "
94        rm $TMP/$PARSER.$INPUT.list > /dev/null 2>&1
95
96        for ROUND0 in $watchlist; do
97                TITLE=`echo $ROUND0 | tr '/' '-' | sed 's/free-//g'`
98                filename=`echo $TITLE` 
99                echo "$TITLE#$SRC $SRC videos $ROUND0/?page= 1#http://atemio.dyndns.tv/mediathek/menu/$filename.jpg#$filename.jpg#$NAME#0" >> $TMP/$PARSER.$INPUT.list
100        done
101        echo "$TMP/$PARSER.$INPUT.list"
102}
103
104search()
105{
106        if [ -z "$NEXT" ]; then NEXT="search"; fi
107
108        if [ ! -e "$TMP/$PARSER.$INPUT.$NEXT.$FILENAME.list" ]; then
109                piccount=0
110       
111                if [ "$NEXT" == "search" ]; then
112                        $curlbin $URL/$PAGE -o $TMP/cache.$PARSER.$INPUT.$NEXT.$FILENAME.1
113                else
114                        $curlbin $URL/$PAGE$NEXT -o $TMP/cache.$PARSER.$INPUT.$NEXT.$FILENAME.1
115                fi
116       
117                cat $TMP/cache.$PARSER.$INPUT.$NEXT.$FILENAME.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.$NEXT.$FILENAME.2
118       
119                pages=`cat $TMP/cache.$PARSER.$INPUT.$NEXT.$FILENAME.1 | grep 'div class="paginated"' | sed 's!<li><a href=!\nfound=!g' | grep ^"found=" | cut -d'"' -f2 | cut -d'=' -f2 | tail -n1`
120       
121                while read -u 3 ROUND; do
122                        ID=`echo $ROUND | cut -d'"' -f1 | tail -n1`
123                        PIC=`echo $ROUND | sed 's!"url": !\nurl=!g' | grep ^url= | cut -d'"' -f2 | tail -n1`
124                        TITLE=`echo $ROUND | sed 's!class="title">!\ntitle=<!g' | grep ^title= | cut -d'<' -f2`
125                        NEWPAGE=`echo $ROUND | sed 's!<a href=!\nfound=!g' | grep ^found= | cut -d'"' -f2 | tail -n1`
126       
127                        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`
128       
129                        if [ -z "$PIC" ]; then
130                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
131                        fi
132       
133                        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'`
134       
135                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
136                                if [ ! -e $TMP/$PARSER.$INPUT.$INPUT.$FILENAME.list ];then
137                                        touch $TMP/$PARSER.$INPUT.$INPUT.$FILENAME.list
138                                fi
139                                piccount=`expr $piccount + 1`
140                                LINE="$TITLE $LANG#$SRC $SRC parts $NEWPAGE#$PIC#$PARSER.$INPUT.$FILENAME.$piccount.jpg#$NAME#0"
141       
142                                echo "$LINE" >> $TMP/$PARSER.$INPUT.$NEXT.$FILENAME.list
143                        fi
144       
145                done 3<$TMP/cache.$PARSER.$INPUT.$NEXT.$FILENAME.2
146       
147                if [ "$NEXT" -lt "$pages" ]; then
148                        NEXTPAGE=`expr $NEXT + 1`
149                        LINE="Page ($NEXTPAGE/$pages)#$SRC $SRC search '$PAGE' $NEXTPAGE#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#$NAME#0"
150                        echo "$LINE" >> $TMP/$PARSER.$INPUT.$NEXT.$FILENAME.list
151                fi
152       
153                rm $TMP/cache.* > /dev/null 2>&1
154        fi
155        echo "$TMP/$PARSER.$INPUT.$NEXT.$FILENAME.list"
156}
157
158videos()
159{
160        $curlbin -o - $URL$PAGE$NEXT | awk -v SRC=$SRC -v INPUT=$INPUT -v PAGE=$PAGE -v NEXT=$NEXT -v PARSER=$PARSER -v NAME=$NAME '
161
162BEGIN { title=""
163        url=""
164        pic=""
165      }
166
167/<a href="/ { if(match($0, /class="title">/) != 0) {
168                 i = match($0, /<a href="/)
169                 split(substr($0, i), a, "\"")
170                 url = a[2]
171                 i = match($0, / title="Jetzt /)
172                 split(substr($0, i), a, "\"")
173                 title = substr(a[2], 7, length(a[2]) - 21)
174              }
175            }
176
177/<img src="/ { i = match($0, /<img src="/)
178               split(substr($0, i), a, "\"")
179               pic = a[2]
180             }
181
182/<div class="title"><strong>/ { n = split(pic, a, "/")
183                                pic2 = a[n]
184                                print title "#" SRC " " SRC " parts " url "#" pic "#" pic2 "#" NAME "#0"
185                                title=""
186                                url=""
187                                pic=""
188                                pic2=""
189                              }
190
191END   { print "Page " NEXT + 1 "#" SRC " " SRC " " INPUT " " PAGE " " NEXT + 1 "#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#" NAME "#0"
192      }
193' >$TMP/$PARSER.$INPUT.list
194        echo "$TMP/$PARSER.$INPUT.list"
195}
196
197parts()
198{
199        $curlbin -o - $URL$PAGE >$TMP/cache.$PARSER.$INPUT.1
200
201        cat $TMP/cache.$PARSER.$INPUT.1 | awk -v SRC=$SRC -v INPUT=$INPUT -v PAGE=$PAGE -v NEXT=$NEXT -v PARSER=$PARSER -v NAME=$NAME '
202BEGIN { kz_parts=0
203        count=1
204        extra=test
205      }
206
207/<div class="mediabar">/ { kz_parts=1
208                           next
209                 }
210/<select class="seasonselect"/ { extra=1
211                           next
212                 }
213/<option value="/ { if(extra=1) {
214                 i = match($0, /<option value="/)
215                 split(substr($0, i), a, "\"")
216                 #print url
217                 title = a[2]
218                                 if(title!="") {
219                         count = title
220                     print "Staffel: " title "#" SRC " " SRC " episodelist " PAGE " " "season=" count "#http://atemio.dyndns.tv/mediathek/menu/s" title ".jpg#s" title ".jpg#" NAME "#0"
221                         }
222                 next
223              }
224            }
225
226/<a href="/ { if(kz_parts!=0) {
227                 i = match($0, /<a href="/)
228                 split(substr($0, i), a, "\"")
229                 url = a[2]
230                 i = match($0, /target="/)
231                 split(substr($0, i), a, "\"")
232                 title = a[3]
233                 sub(/>/, "", title)
234                 sub(/<small>/, "", title)
235                 sub(/<\/small><\/a><\/li>/, "", title)
236                 split(title, a, "\[")
237                 split(a[2], b, "\]")
238                 split(b[1], a, " ")
239                 part = a[2]
240                 print title "#" SRC " " SRC " hoster " PAGE " " count "#http://atemio.dyndns.tv/mediathek/menu/" part ".jpg#" part ".jpg#" NAME "#111"
241                 count=count+1
242                 next
243              }
244            }
245
246/<div class="ad leaderboard">/ { kz_parts=0
247                                 next
248         }
249' >$TMP/$PARSER.$INPUT.$FILENAME.list
250        echo "$TMP/$PARSER.$INPUT.$FILENAME.list"
251}
252
253hoster()
254{
255        i=`expr $NEXT \* 2`
256        data=`$curlbin "$URL$PAGE" | grep "data-det=" | cut -d'"' -f4`
257
258        if [ ! -z "$data" ];then
259                id=`$curlbin --header "Content-Type: application/json" -H "X-Requested-With: XMLHttpRequest" -X POST --data "$data" --referer $URL$PAGE http://kkiste.to/xhr/link/ | cut -d'"' -f$i`
260        fi
261
262        if [ -z "$id" ];then
263                id=`$curlbin "$URL$PAGE" | grep "http://www.ecostream.tv/stream" | sed 's#http://www.ecostream.tv/stream/#\nlink=.#g' | cut -d"." -f2`
264        fi
265        echo "http://www.ecostream.tv/stream/$id.html"
266}
267
268episodelist()
269{
270        if [ -e "$TMP/$PARSER.$INPUT.list" ] ; then
271                rm $TMP/$PARSER.$INPUT.list
272        fi
273
274        SEASON=`echo $NEXT | cut -d"=" -f2`
275        PARAM1=`echo $PAGE | sed 's!.html!/!g'`
276
277        data=`$curlbin "$URL$PAGE" | grep "data-movie=" | cut -d'"' -f4`
278        $curlbin2 -H "X-Requested-With: XMLHttpRequest" -X POST --data "$NEXT" --referer $URL$PAGE http://kkiste.to/xhr/movies/episodes/$data/ -o "$TMP/cache.$PARSER.$INPUT.1"
279### 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/
280
281        cat $TMP/cache.$PARSER.$INPUT.1 | sed 's!},{!\n{!g' | cut -d"[" -f2 >$TMP/cache.$PARSER.$INPUT.2
282
283        count=0
284
285        while read -u 3 ROUND; do
286                count=`expr $count + 1`
287       
288                TITLE=`echo $ROUND | cut -d'"' -f10 | tail -n1`
289                ID=`echo $ROUND | cut -d'"' -f6 | tail -n1`
290                NEWPAGE="http://www.ecostream.tv/stream/$ID.html"
291                EPISODE=`echo $TITLE | tr ' ' '\n' | tail -n1`
292                PICNAME=s"$SEASON"e"$EPISODE".jpg
293                PIC="http://atemio.dyndns.tv/mediathek/menu/$PICNAME"
294
295                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'`
296
297                if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
298                        if [ ! -e $TMP/$PARSER.$INPUT.$FILENAME.list ];then
299                                touch $TMP/$PARSER.$INPUT.$FILENAME.list
300                        fi
301#gehen beide varianten weiss nur nicht ob die folgen dann stimmen
302#                       LINE="$TITLE#$SRC $SRC hoster $PARAM $count#$PIC#$PICNAME#$NAME#111"
303                        LINE="$TITLE#$NEWPAGE#$PIC#$PICNAME#$NAME#14"
304
305                        echo "$LINE" >> $TMP/$PARSER.$INPUT.list
306                fi
307
308        done 3<$TMP/cache.$PARSER.$INPUT.2
309        rm $TMP/cache.* > /dev/null 2>&1
310
311        echo "$TMP/$PARSER.$INPUT.list"
312}
313
314
315case $INPUT in
316#       init) $INPUT;;
317        mainmenu) $INPUT;;
318        videos) $INPUT;;
319        parts) $INPUT;;
320        serien) $INPUT;;
321        hoster) $INPUT;;
322        search) $INPUT;;
323        page) $INPUT;;
324        episodelist) $INPUT;;
325        sorted) $INPUT;;
326        genre) $INPUT;;
327esac
328
Note: See TracBrowser for help on using the repository browser.