source: titan/mediathek/localparser_secret/pornhub.sh @ 40203

Last change on this file since 40203 was 40203, checked in by obi, 5 years ago

tithek upodate pornhub genre to awk is very faster

  • Property svn:executable set to *
File size: 10.5 KB
Line 
1#!/bin/sh
2# first sh box parser for titannit mfg obi
3
4. /tmp/localhoster/hoster.sh
5
6SRC=$1
7INPUT=$2
8PAGE=$3
9NEXT=$4
10PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
11
12FILENAME="$PARSER $INPUT $PAGE $NEXT"
13FILENAME=`echo $FILENAME | tr '&' '.' | tr '/' '.' | tr '?' '.' | tr ';' '.' | tr '=' '.' | sed 's/ \+/./g' | sed 's/\.\+/./g'`
14
15if [ -z "$FILENAME" ]; then
16        FILENAME=none
17fi
18
19URL=http://www.pornhub.com
20NAME="Pornhub"
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#1000"
38}
39
40mainmenu()
41{
42        echo "Genre#$SRC $SRC genre 'categories'#http://atemio.dyndns.tv/mediathek/menu/Movies.genre.jpg#Movies.genre.jpg#$NAME#0" >$TMP/$FILENAME.list
43        echo "Suchen#$SRC $SRC search 'video/search?search=%search%&page=' 1#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >>$TMP/$FILENAME.list
44        echo "$TMP/$FILENAME.list"
45}
46
47# comment block1 start
48<<"COMMENT"
49
50<ul class="headerSubMenu">
51 .
52 <li class=" ">
53 <a href="/video?c=28" onclick="ga('send', 'event', 'Header', 'click', 'Category 28');" alt="Reife Frauen">
54 <img class="js-menuSwap" data-image="http://cdn1b.static.pornhub.phncdn.com/images/categories/118x88/28.jpg?cache=1488300184" width="118" height="88" alt="Reife Frauen">
55 <span>Reife Frauen</span>
56 </a>
57 </li>
58 .
59 <li>
60 <a class="categoryDefault" href="/categories" onclick="ga('send', 'event', 'Header', 'click', 'Categories');">
61 <img class="js-menuSwap" data-image="http://cdn1b.static.pornhub.phncdn.com/www-static/images/categories_seeall.gif" alt="See All" width="118" height="88">
62 <span>Alle anzeigen</span>
63 </a>
64 </li>
65</ul>
66
67TitanNit-ufs912:~# time /tmp/localparser/pornhub.sh /tmp/localparser/pornhub.sh genre 'categories'
68/tmp/tithek/pornhub.genres.list
69real    0m 1.07s
70user    0m 0.39s
71sys     0m 0.39s
72TitanNit-ufs912:
73
74TitanNit-ufs912:~# time /tmp/localparser/pornhub.sh /tmp/localparser/pornhub.sh genreold 'categories'
75/tmp/localcache/pornhub.genreold.categories.list
76real    0m 19.03s
77user    0m 4.71s
78sys     0m 12.14s
79TitanNit-ufs912:~#
80
81COMMENT
82# comment block1 end
83
84genre()
85{
86        if [ ! -e "$TMP/$FILENAME.list" ]; then
87                $curlbin -o - $URL/$PAGE | awk -v SRC=$SRC -v NAME=$NAME \
88                '
89                        # 1. BEGIN variable setzen
90                        BEGIN
91                        {
92                                # 2. setzt suchvariable auf 0 vor dem start
93                                suche = 0
94                                newpage = ""
95                        }
96                        # 3. eindeutige zeile vor ersten treffer
97                        /<ul class=\"headerSubMenu\">/ \
98                        {
99                                # 4. suche erlauben ab dieser zeile
100                                suche = 1
101                                # 5. in naechste zeile springen
102                                next
103                        }
104                        # 6. eindeutige zeile nach letzen treffer
105                        /<\/ul>/ \
106                        {
107                                # 7. suche verbieten ab dieser zeile
108                                suche = 0
109                                # 8. in naechste zeile springen
110                        next
111                        }
112                        # 9. eindeutige zeile nach letzen treffer backup fals erste nicht klappt
113                        /categoryDefault/ \
114                        {
115                                # 10. suche verbieten ab dieser zeile
116                                suche = 0
117                                # 11. in naechste zeile springen
118                    next
119                        }
120                        # 12. nextpage zeile
121                        # /<a href=\"\/video?c=/ \
122                        /<a href=\"\/video?/ \
123                        {
124                                if (suche == 1)
125                                {
126                                        # <a href="/video?c=28" onclick="ga.....>
127                                        # 13. extrahiere den newpage pfad
128                                        i = index($0, "href=\"") + 6
129                            j = index(substr($0, i), "\"") - 1
130                                        # 14. newpage = /video?c=28
131                            newpage = substr($0, i, j)
132                                        # 15. in naechste zeile springen
133                                        next
134                                }
135                        }
136                        # 16. erste zeile mit treffer
137                        /<img class=\"/ \
138                        {
139                                if (suche == 1 && newpage != "")
140                                {
141                                        # <img class="js-menuSwap" data-image="http://cdn1b.static.pornhub.phncdn.com/images/categories/118x88/28.jpg?cache=1488300184" width="118" height="88" alt="Reife Frauen">
142                                        # 17. extrahiere den titel alt="Reife Frauen"
143                                        i = index($0, "alt=\"") + 5
144                            j = index(substr($0, i), "\"") - 1
145                                        # 18. titel = Reife Frauen
146                            title = substr($0, i, j)
147       
148                                        # <img class="js-menuSwap" data-image="http://cdn1b.static.pornhub.phncdn.com/images/categories/118x88/28.jpg?cache=1488300184" width="118" height="88" alt="Reife Frauen">     
149                                        # 19. extrahiere den piclink data-image="http://cdn1b.static.pornhub.phncdn.com/images/categories/118x88/28.jpg?cache=1488300184"
150                                        i = index($0, "data-image=\"") + 12
151                            j = index(substr($0, i), "\"") - 1
152                                        # 20. pic = http://cdn1b.static.pornhub.phncdn.com/images/categories/118x88/28.jpg?cache=1488300184
153                            pic = substr($0, i, j)
154                                       
155                                        # 21. erstelle lokalen picname aus kleingeschriebenen titel
156                                        # 22. titel = reife frauen
157                                        picname = tolower(title)
158       
159                                        # 23. tausche leehrzeichen in punkte
160                                        # 24. titel = reife.frauen
161                            gsub(" ", ".", picname, picname)
162       
163                                        if (title != "")
164                                        {
165                                                # 25. in naechste zeile springen
166                                                # 26. \x27 = single quotes
167                                                print title "#" SRC " " SRC " search \x27" newpage "&page=\x27 1#" pic "#" picname ".jpg#" NAME "#0"
168                                        }
169                                       
170                                        # 27. reset variables
171                                        newpage = ""
172                                        title = ""
173                                        picname = ""
174                                        pic = ""
175                                        # 28. in naechste zeile springen
176                                        next
177                        }
178                        }
179                # 29. schreibe alles in die list datei
180                ' >$TMP/$FILENAME.list
181        fi
182        # 30. gebe titan den list namen mit pfad zurueck
183        echo "$TMP/$FILENAME.list"
184}
185
186
187genreold()
188{
189        if [ ! -e "$TMP/$FILENAME.list" ]; then
190                piccount=0
191                $curlbin $URL/$PAGE -o $TMP/cache.$FILENAME.1
192                cat $TMP/cache.$FILENAME.1 | tr '\n' ' ' | sed 's/<a href=/\n\n\nfound=/g' | grep ^found= | grep "/video?c=" | tr '\t' ' ' | sed 's/ \+/ /g' | grep "img src" | grep ".jpg" >$TMP/cache.$FILENAME.2
193               
194                while read -u 3 ROUND; do
195                        PIC=`echo $ROUND | sed 's!<img src=!\npic=!g' | grep ^pic= | cut -d'"' -f2 | tail -n1`
196                        TITLE=`echo $ROUND | sed 's!data-mxptext=!\ntitle=!g' | grep ^title= | cut -d'"' -f2`
197                        NEWPAGE=`echo $ROUND | cut -d'"' -f2 | head -n1`
198       
199                        if [ -z "$PIC" ]; then
200#                               PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
201                                PIC="http://atemio.dyndns.tv/mediathek/menu/`echo $TITLE | tr 'A-Z' 'a-z'`.jpg"
202                        fi
203       
204                        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'`
205       
206                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
207                                if [ ! -e $TMP/$FILENAME.list ];then
208                                        touch $TMP/$FILENAME.list
209                                fi
210                                piccount=`expr $piccount + 1`
211       
212                                if [ `cat $TMP/$FILENAME.list | grep "#$NEWPAGE#" | wc -l` -eq 0 ];then
213                                        LINE="$TITLE#$SRC $SRC search '$NEWPAGE&page=' 1#$PIC#$FILENAME.$FILENAME.$NEXT.$piccount.jpg#$NAME#0"
214                                fi
215                                echo "$LINE" >> $TMP/$FILENAME.list
216                        fi
217       
218                done 3<$TMP/cache.$FILENAME.2
219                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
220        fi
221        echo "$TMP/$FILENAME.list"
222}
223
224search()
225{
226#       if [ -z "$NEXT" ]; then NEXT="search"; fi
227
228#       if [ -e "$TMP/$FILENAME.list" ] ; then
229#               rm $TMP/$FILENAME.list
230#       fi
231
232        if [ ! -e "$TMP/$FILENAME.list" ]; then
233                piccount=0
234
235                $curlbin $URL/$PAGE$NEXT -o $TMP/cache.$FILENAME.1
236                cat $TMP/cache.$FILENAME.1 | tr '\n' ' ' | sed 's/<a href=/\n\n\nfound=/g' | grep ^found= | grep "/view_video.php?viewkey=" | tr '\t' ' ' | sed 's/ \+/ /g' | grep "img src" >$TMP/cache.$FILENAME.2
237       
238#               <li class="page_next_set"><a class="greyButton" href="/video?c=95&amp;page=10">10</a></li>
239                pages=`cat $TMP/cache.$FILENAME.1 | grep "&amp;page" | grep "page_next_set" | sed 's/&amp;page=/\nfound="/g' | grep ^found= | cut -d'"' -f2 | tail -n1`
240
241#               <li class="page_number"><a class="greyButton" href="/video/search?search=michaela&amp;page=5">5</a></li>
242                if [ -z "$pages" ];then
243                        pages=`cat $TMP/cache.$FILENAME.1 | grep "page_number" | sed 's/&amp;page=/\nfound="/g' | grep ^found= | cut -d'"' -f2 | tail -n1`
244                fi
245
246                while read -u 3 ROUND; do
247                        PIC=`echo $ROUND | sed 's!data-mediumthumb=!\npic=!g' | grep ^pic= | cut -d'"' -f2 | tail -n1`
248#                       if [ -z "$PIC" ];then
249#                               PIC=`echo $ROUND | sed 's!data-path=!\npic=!g' | grep ^pic= | cut -d'"' -f2 | tail -n1`
250#                       fi
251
252                        TITLE=`echo $ROUND | sed 's!title=!\ntitle=!g' | grep ^title= | cut -d'"' -f2`
253                        NEWPAGE=`echo $ROUND | cut -d'"' -f2`   
254                        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'`
255       
256                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ] && [ ! -z "$PIC" ];then
257                                if [ ! -e $TMP/$FILENAME.list ];then
258                                        touch $TMP/$FILENAME.list
259                                fi
260                                piccount=`expr $piccount + 1`
261
262                                if [ `cat $TMP/$FILENAME.list | grep "#$NEWPAGE#" | wc -l` -eq 0 ];then
263                                        LINE="$TITLE#$SRC $SRC hoster '$NEWPAGE'#$PIC#$FILENAME.$FILENAME.$NEXT.$piccount.jpg#$NAME#111"
264                                fi
265                                echo "$LINE" >> $TMP/$FILENAME.list
266                        fi
267       
268                done 3<$TMP/cache.$FILENAME.2
269
270                if [ "$NEXT" -lt "$pages" ]; then
271                        NEXTPAGE=`expr $NEXT + 1`
272                        LINE="Page ($NEXTPAGE/$pages)#$SRC $SRC search '$PAGE' $NEXTPAGE#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#$NAME#0"
273                        echo "$LINE" >> $TMP/$FILENAME.list
274                fi
275                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
276        fi
277        echo "$TMP/$FILENAME.list"
278}
279
280hoster()
281{
282        rm $TMP/cache.$PARSER.$INPUT.* > /dev/null 2>&1
283        /tmp/localhoster/hoster.sh youtube_dl $URL$PAGE > $TMP/cache.$PARSER.$INPUT.1
284        STREAMURL=`cat $TMP/cache.$PARSER.$INPUT.1`
285        echo $STREAMURL
286}
287
288case $INPUT in
289        init) $INPUT;;
290        mainmenu) $INPUT;;
291        hoster) $INPUT;;
292        search) $INPUT;;
293        genre) $INPUT;;
294        genreold) $INPUT;;
295
296esac
Note: See TracBrowser for help on using the repository browser.