Phil 5 жил өмнө
parent
commit
ef05d7236e

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
dummys/chapter.html


+ 390 - 0
dummys/chapter_clean.html

@@ -0,0 +1,390 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="generator" content=
+"HTML Tidy for HTML5 for Linux version 5.7.28">
+<title></title>
+
+<style type="text/css">
+ #wrapper { background-image: url(\'//cdn.proxer.me/gallery/originals/other_stuff__memes_17/63/78188\'); } 
+</style>
+</head>
+<body>
+b'\n\n\n\n
+<base href="https://proxer.me/chapter/7578/270/en">\n
+<meta http-equiv="content-type" content="text/html; charset=utf-8">
+\n
+<meta name="keywords" content="watch,anime,online,stream,episode">
+\n
+<title>The Gamer Kapitel 270 Englisch - Proxer.Me</title>
+\n
+<link href="/favicon.ico" rel="shortcut icon" type=
+"image/vnd.microsoft.icon">\n
+<meta name="googlebot" content="noindex, nofollow">\n\n
+<link rel="stylesheet" href="/templates/proxer14/css/common.css?10"
+type="text/css" media="screen">\n
+<link rel="stylesheet" href=
+"/templates/proxer14/css/print.css?1579946859" type="text/css"
+media="print">\n
+<link rel="stylesheet" href=
+"/templates/proxer14/css/jqueryui/smoothness/jquery-ui-1.10.3.custom.css"
+type="text/css">\n
+<link rel="stylesheet" href=
+"/templates/proxer14/lib/font-awesome-4.6.3/css/font-awesome.min.css"
+type="text/css">\n
+<link rel="stylesheet" href=
+"/templates/proxer14/css/color/gray.css?5" type="text/css" media=
+"screen">\n
+<link rel="stylesheet" href="/templates/proxer14/css/ht.css" type=
+"text/css" media="screen">\n
+<link rel="search" type="application/opensearchdescription+xml"
+title="Proxer.Me - Anime und Manga Suche" href="/opensearch.xml">\n
+<link rel="icon" href="/images/favicon.ico" type="image/x-icon">\n
+<script type="text/javascript" src=
+"/templates/proxer14/js/jquery-1.9.1.min.js"></script>\n
+<script type="text/javascript" src=
+"/templates/proxer14/js/jquery-ui-1.10.3.custom.min.js"></script>\n
+<script type="text/javascript" src=
+"/templates/proxer14/js/common.js?18"></script>\n
+<script type="text/javascript" src=
+"/templates/proxer14/js/jquery.plugins.js?4"></script>\n
+<script type="text/javascript" src=
+"/templates/proxer14/js/cookieconsent.latest.min.js?4"></script>\n\n\n
+<div id="nav">\n
+<div id="innerNav">\n
+<ul id="leftNav">\n
+<li class="topmenu">\n<a href="/" title="Proxer.Me Startseite"
+class="navlogo">&nbsp; ▾</a>\n
+<ul>\n
+<li><a href="/#top" data-ajax="true">Startseite</a></li>
+\n
+<li><a href="/impressum#top" data-ajax="true">Impressum</a></li>
+\n
+<li><a href="/donate#top" data-ajax="true">Spenden</a></li>
+\n
+<li><a href="/tickets#top" data-ajax="true">Tickets</a></li>
+<li><a href="/files#top" data-ajax="true">Dateiupload</a></li>
+\n
+<li>
+<hr></li>
+\n
+<li><a href="javascript:;" id="tmode" class="lt">Low-Traffic
+Modus</a></li>
+\n
+<li style="margin: 15px;">\n<span class=
+"colorbox colorbox_gray">&nbsp;</span>\n<span class=
+"colorbox colorbox_black">&nbsp;</span>\n<span class=
+"colorbox colorbox_old_blue">&nbsp;</span>\n<span class=
+"colorbox colorbox_pantsu">&nbsp;</span>\n</li>
+\n</ul>
+\n</li>
+\n
+<li class="topmenu">\n<a href="/anime#top" data-ajax="touch">Anime
+▾</a>\n
+<ul>\n
+<li><a href="/anime/animeseries/rating/all#top" data-ajax=
+"true">Top-Bewertungen</a></li>
+\n
+<li><a href="/anime/animeseries/clicks/all#top" data-ajax=
+"true">Top-Zugriffe</a></li>
+\n
+<li><a href="/anime/airing#top" data-ajax=
+"true">Airing-Anime</a></li>
+\n
+<li><a href="/season#top" data-ajax="true">Season</a></li>
+\n
+<li><a href="/calendar#top" data-ajax=
+"true">Anime-Kalender</a></li>
+\n
+<li>
+<hr></li>
+\n
+<li><a href="/provider/proxerstream#top" data-ajax="true">Proxer
+HD</a></li>
+\n
+<li><a href="/provider/aod#top" data-ajax=
+"true">Anime-on-Demand</a></li>
+\n
+<li><a href="/provider/crunchyroll#top" data-ajax=
+"true">Crunchyroll</a></li>
+\n
+<li><a href="/provider/netflix#top" data-ajax=
+"true">Netflix</a></li>
+\n</ul>
+\n</li>
+\n
+<li class="topmenu">\n<a href="/manga#top" data-ajax="touch">Manga
+▾</a>\n
+<ul>\n
+<li><a href="/manga/mangaseries/rating/all#top" data-ajax=
+"true">Top-Bewertungen</a></li>
+\n
+<li><a href="/manga/mangaseries/clicks/all#top" data-ajax=
+"true">Top-Zugriffe</a></li>
+\n
+<li><a href="/manga/airing#top" data-ajax=
+"true">Airing-Manga</a></li>
+\n</ul>
+\n</li>
+\n
+<li class="topmenu">\n<a href="/forum#top">Forum & Community
+▾</a>\n
+<ul>\n
+<li><a href="/chat#top" data-ajax="true">Chat</a></li>
+\n
+<li><a href="https://discord.gg/XwrEDmA" target=
+"_blank">Discord</a></li>
+\n
+<li><a href="/forum#top">Forum</a></li>
+\n
+<li><a href="/teamspeak#top" data-ajax="true">Teamspeak</a></li>
+\n
+<li>
+<hr></li>
+\n
+<li><a href="/ucp?s=reminder&amp;utm_source=nav#top" data-ajax=
+"true">Lesezeichen</a></li>
+\n
+<li><a href="/ucp?s=anime&amp;utm_source=nav#top" data-ajax=
+"true">Animeliste</a></li>
+\n
+<li><a href="/ucp?s=manga&amp;utm_source=nav#top" data-ajax=
+"true">Mangaliste</a></li>
+\n
+<li>
+<hr></li>
+\n
+<li><a href="/team#top" data-ajax="true">Team</a></li>
+\n
+<li><a href="/users#top" data-ajax="true">Userliste</a></li>
+\n</ul>
+\n</li>
+\n
+<li class="topmenu">\n<a href="javascript:;">Mehr ▾</a>\n
+<ul>\n\n
+<li><a href="/gallery#top" data-ajax="true">Galerie</a></li>
+\n
+<li><a href="/proxcast#top" data-ajax="true">ProxCast</a></li>
+\n
+<li><a href="/subs#top" data-ajax="true">ProxerSubs</a></li>
+\n
+<li><a href="/review#top" data-ajax="true">Rezensionen</a></li>
+\n
+<li><a href="/touzai#top" data-ajax="true">Touzai</a></li>
+\n
+<li>
+<hr></li>
+\n
+<li><a href="/character#top" data-ajax="true">Charaktere</a></li>
+\n
+<li><a href="/interprets#top" data-ajax="true">Interpreten</a></li>
+\n
+<li><a href="/novel#top" data-ajax="true">Novel</a></li>
+\n
+<li><a href="/persons#top" data-ajax="true">Personen</a></li>
+\n
+<li><a href="/translatorgroups#top" data-ajax=
+"true">Sub-/Scanlationgruppen</a></li>
+\n
+<li><a href="/industry#top" data-ajax="true">Unternehmen</a></li>
+\n
+<li>
+<hr></li>
+\n
+<li><a href="/article#top">Artikel\xc3\xbcbersicht</a></li>
+\n\n</ul>
+\n</li>
+\n</ul>
+\n
+<ul id="rightNav">\n
+<li class="borderLeft">\n<a class="showBubble" id="loginNav" href=
+"javascript:;" title="Cyber"><img alt="avatar" src=
+"//cdn.proxer.me/avatar/tn/174053_51c5b630a0ed3.jpg"></a></li>
+\n
+<li>\n<a class="showBubble" id="searchNav" href="javascript:;"
+title="Globale Suche">&nbsp;</a>\n</li>
+\n
+<li>\n<a class="showBubble" id="newsNav" href="javascript:;" title=
+"Anime- und Manganews">&nbsp;</a>\n</li>
+\n
+<li>\n<a class="showBubble" id="messageNav" href="javascript:;"
+title="Nachrichten">&nbsp;</a>\n</li>
+\n
+<li>\n<a id="requestNav" href="/user/my/connections#top" data-ajax=
+"true" title="Freundschaftsanfragen">&nbsp;</a>\n</li>
+\n
+<li>\n<a class="showBubble" id="miscNav" href="javascript:;" title=
+"Benachrichtigungen">&nbsp;</a>\n</li>
+\n</ul>
+\n</div>
+\n
+<div id="outerNav">\n
+<div id="notificationBubble"></div>
+\n
+<div id="loginBubble">\n
+<ul>\n
+<li style="text-align:center;">\nEingeloggt als: <b id=
+"uname">Cyber</b>\n<br>
+\n<img alt="Avatar" src=
+"//cdn.proxer.me/avatar/tn/174053_51c5b630a0ed3.jpg" style=
+"max-width:200px;max-height:200px;">\n<br>
+\n<input id="mod_logout_submit" type="submit" name="Submit" value=
+"Abmelden">\n</li>
+\n
+<li><a href="/user#top" data-ajax="true">Profil anzeigen</a></li>
+\n
+<li><a href="/ucp?s=edit#top">Profil bearbeiten</a></li>
+\n
+<li><a href="/ucp#top" data-ajax="true">User-Control-Panel</a></li>
+\n
+<li>
+<hr></li>
+\n
+<li><a href="/ucp?s=anime&amp;utm_source=loginbox#top" data-ajax=
+"true">Animeliste</a></li>
+\n
+<li><a href="/ucp?s=manga&amp;utm_source=loginbox#top" data-ajax=
+"true">Mangaliste</a></li>
+\n
+<li><a href="/ucp?s=reminder&amp;utm_source=loginbox#top"
+data-ajax="true">Lesezeichen</a></li>
+\n</ul>
+</div>
+\n</div>
+\n</div>
+\n
+<div id="topbg"></div>
+\n
+<div id="wrapper">\n
+<div id="headSection">\n<a href=
+"/gallery?s=detail&amp;id=78188#top" data-ajax="true" id=
+"headerInfo" class="customBubble fa fa-info" title=
+"Infos zum Header"></a>\n</div>
+\n
+<div id="top"></div>
+\n
+<div id="main">\n
+<ul id="simple-navi">
+<li class="active"><a>Kapitel <span class="wEp">270</span></a></li>
+<li><a data-ajax="true" href=
+"/info/7578/details#top">Details</a></li>
+<li><a data-ajax="true" href="/info/7578/list#top">Kapitel</a></li>
+</ul>
+<br>
+<br>
+<br>
+<br>
+<div class="inner">
+\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+<table class="details" width="1000" align="center">
+<tr>
+<td width="20%">Titel</td>
+<td>[Season 4] Ep. 75</td>
+</tr>
+<tr>
+<td>Kapitel</td>
+<td>270</td>
+</tr>
+<tr>
+<td>Sprache</td>
+<td>Englisch</td>
+</tr>
+<tr>
+<td>Uploader</td>
+<td><a href="/user/48976#top" data-ajax="true">Asradur</a></td>
+</tr>
+<tr>
+<td>Scanlator-Gruppe</td>
+<td><a target="_blank" href="/translatorgroups?id=725#top">LINE
+Webtoon</a></td>
+</tr>
+<tr>
+<td>Datum</td>
+<td>12.04.2019</td>
+</tr>
+<tr>
+<td colspan="2" align="center">
+<div><a style="font-size: 30px;" id="chapter_next" data-ajax=
+"false" href=
+"https://www.webtoons.com/en/fantasy/the-gamer/season-4-ep-75/viewer?title_no=88&amp;episode_no=271"
+target="_blank">Klicke hier oder auf die "Rechts"-Taste um das
+Kapitel zu lesen!</a></div>
+<div>Dieser Manga ist lizenziert. Das Kapitel \xc3\xb6ffnet einen
+externen Reader. <a href=
+"/forum/18-ankuendigungen-und-projekte/384743-lizenzierung-von-mangas#818250">
+Weitere Informationen hier</a>. Tipp: <a href=
+"/apps/info/20#top">Naver2Proxer (Userscript)</a>.</div>
+<div style="margin:2px auto; width: 720px; height:90px;"><a href=
+"/donate#top" target="_blank"><img src=
+"/images/misc/proxerdonate.png" style=
+"width:728;height:90;"></a></div>
+\n</td>
+</tr>
+</table>
+\n
+<script type="text/javascript">
+\n\t\t\tjQuery(document).off("keydown");\n\t\t\tjQuery(document).on("keydown",function(e){\n\t\t\t\tif((e.keyCode == 68 || e.keyCode == 39)  && getCurrentLink().indexOf(\'/chapter/\')!=-1  && !$("input").is(":focus") && !$("textarea").is(":focus")){\n\t\t\t\t\tif($("#chapter_next").attr("target") == "_blank"){\n\t\t\t\t\t\tvar win = window.open($("#chapter_next").attr("href"), "_blank");\twin.focus();\n\t\t\t\t\t}else{\n\t\t\t\t\t\twindow.location=$("#chapter_next").attr("href");\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t});\n\t\t\tvar c_id = 363506;\n\t\t
+</script>\n<br>
+<div style="text-align:center;"><a href="/chapter/7578/269/en"
+class="menu" data-ajax="true">Vorheriges Kapitel</a> <a href=
+"/chapter/7578/271/en" class="menu" data-ajax="true">Nächstes
+Kapitel</a>\n</div>
+<p align="center">\n<a class="menu reminder" title="reminder_this"
+href="javascript:void(0);">Lesezeichen: Dieses Kapitel</a>
+<a class="menu reminder" title="reminder_next" href=
+"javascript:void(0);">Lesezeichen: Nächstes Kapitel</a></p>
+</div>
+<br>
+\n\n\n\n\n\n
+<table width="1000" align="center">
+<tr>
+<td width="50%" valign="top">\n<span id="reportStream">\n</span>
+<h3><span id="reportStream">Defekt melden</span></h3>
+<span id="reportStream">\n</span>
+<form method="post" action="javascript:void(0);"><span id=
+"reportStream">\n<input type="text" name=
+"reportReason">\n<input type="submit" id="report" value=
+"Absenden">\n<br>
+\nDamit deine Meldung angenommen wird, musst du einen Grund
+angeben. Gib dies bitte in das folgende Textfeld ein. Beispiel:
+"Ton und Bild nicht synchron" oder "Stream wurde gel\xc3\xb6scht"
+oder "Kapitel l\xc3\xa4dt nicht.". Nutze bei Proxer-Streams die
+Schaltfl\xc3\xa4che <a href="https://cdn.proxer.me/f/hr5pEYrT"
+target="_blank">"Ladezeiten melden"</a>, falls die Ladezeit
+schlecht ist. Wir gehen diesen regelm\xc3\xa4\xc3\x9fig nach!\n<br>
+\n<br>
+\n<a href="mailto:genesis@proxer.de?subject=DMCA-Report">Report
+DMCA Infringement</a>\n</span></form>
+<span id="reportStream">\n</span>\n</td>
+<td width="50%" valign="top">\n
+<h3>Diskussionen und Social Media</h3>
+\n
+<p>Diskutiere \xc3\xbcber dieses Werk mit anderen im <a target=
+"_blank" href="/info/7578/forum">Forum</a> oder <a href=
+"/chat?id=7#top" target="_blank">Chat</a>!</p>
+\n\n
+<div class="shariff" data-lang="de" data-services=
+"[&quot;facebook&quot;,&quot;twitter&quot;,&quot;whatsapp&quot;,&quot;googleplus&quot;,&quot;tumblr&quot;]">
+</div>
+\n</td>
+</tr>
+</table>
+\n
+<script type="text/javascript" src=
+"/templates/proxer14/js/shariff.min.js?1"></script>\n
+<script type="text/javascript" src=
+"/components/com_proxer/js/media/default.js?3"></script>\n
+<link rel="stylesheet" type="text/css" href=
+"/templates/proxer14/css/shariff.min.css?1">\n
+<div id="pageMetaAjax" style="display:none;">The Gamer Kapitel 270
+Englisch - Proxer.Me</div>
+\n</div>
+\n</div>
+\n
+<div id="misc" class="sprechblase" style="display:none;"></div>
+\n
+<div id="messages"></div>
+\n<input type="hidden" value="61910ad696417b3c02839a39ff10d726" id=
+"proxerToken">\n\n\n'
+</body>
+</html>

+ 0 - 0
episode.html → dummys/episode.html


+ 0 - 0
episode_clean.html → dummys/episode_clean.html


+ 0 - 0
dump.html → dummys/lesezeichen.html


+ 0 - 0
out.html → dummys/lesezeichen_clean.html


+ 12 - 113
main.py

@@ -2,10 +2,10 @@ import auth as auth
 import os
 from getpass import getpass
 import requests
-from html.parser import HTMLParser
-from html.entities import name2codepoint
 from subprocess import call
 import subprocess
+from parsers.episode import episodeParser
+from parsers.lesezeichen import lesezeichenParser
 
 def main():
     while True:
@@ -42,6 +42,12 @@ def main():
         if uin =='99':
             exit()
 
+def chapter_dummy(sess,ep):
+    response = sess.get('https://proxer.me' + ep['link'])
+    f = open('dummys/chapter.html','w')
+    f.write(str(response.content))
+    f.close()
+
 def episode(sess,episode):
     response = sess.get('https://proxer.me'+ep['link'])
     content = response.content
@@ -59,7 +65,7 @@ def episode(sess,episode):
         call(['curl',link,'-o',ep['title']+'.mp4'])
  
 def episode_test():
-    f = open('episode.html','r')
+    f = open('dummys/episode.html','r')
     content = f.readlines()
     f.close()
     epars = episodeParser()
@@ -94,10 +100,12 @@ def LesezeichenAll(sess):
     link = ""
     if uin[0] == 'w':
         ep = watchlist[int(uin.replace('w',''))]
+        episode(sess,ep)
     else:
         ep = readlist[int(uin.replace('r',''))]
+        chapter_dummy(sess,ep)
     print(link)
-    episode(sess,ep)
+    
 
 def LesezeichenSingle(sess,mode):
     response = sess.get('https://proxer.me/ucp?s=reminder&utm_source=nav#top')
@@ -148,113 +156,4 @@ def LesezeichenD():
         link = readlist[int(uin.replace('r',''))]['link']
     print(link)
     
-    
-class episodeParser(HTMLParser):
-    inScript = False
-    code = ""
-
-    def handle_starttag(self, tag, attrs):
-        if tag == 'script':
-            self.inScript = True
-
-
-    def handle_data(self, data):
-        if self.inScript:
-            lines = data.replace('\\n','').split(';')
-            streams = lines[0][lines[0].index('['):]
-            streams = streams.split('}')
-            print(streams[0])
-            typeIndex = streams[0].index('type') + 7
-            if streams[0][typeIndex:typeIndex + 13] == 'proxer-stream':
-                print('proxer-steram')
-                codeStart = streams[0].index('code') + 7
-                code = streams[0][codeStart:]
-                code = code[:code.index('"')]
-                print(code)
-                self.code = code
-
-    def handle_endtag(self, tag):
-        if tag == 'script' and self.inScript:
-            self.inScript = False
-
-class lesezeichenParser(HTMLParser):
-    inHeader = False
-    watchlist = []
-    readlist = []
-    inh4 = False
-    inWatchlist = False
-    inReadlist = False
-    inRow = False
-    inData = False
-    tdCount = 0
-    inName = False
-    anime = dict()
-
-    
-    def handle_starttag(self, tag, attrs):
-        #headline to diff read/watchlist
-        if tag == 'h4':
-            self.inh4 = True
-        
-        #tablerow for parsing entry
-        if (self.inWatchlist or self.inReadlist) and tag == 'tr':
-            self.inRow = True
-            self.tdCount = 0
-            if self.inWatchlist or self.inReadlist:
-                self.anime = dict()
-
-        #table data for parsing info
-        if self.inRow and tag == 'td':
-            self.tdCount +=1
-            self.inData = True
-
-        if self.inData and tag == 'a' and self.tdCount == 2:
-            self.inName = True
-            if self.inWatchlist or self.inReadlist:
-                self.anime['link'] = attrs[2][1]
-
-        if self.inData and tag == 'img':
-            if 'online' in attrs[0][1]:
-                self.anime['new'] = True
-            else:
-                self.anime['new'] = False
-            
-        if (self.inWatchlist or self.inReadlist) and tag == 'th':
-            self.inHeader = True
-
-    def handle_endtag(self, tag):
-        if tag == 'h4' and self.inh4:
-            self.inh4 = False
-        if tag == 'table' and self.inReadlist:
-            self.inReadlist = False
-        if tag == 'table' and self.inWatchlist:
-            self.inWatchlist = False
-        if tag == 'tr' and self.inRow:
-            self.inRow = False
-            if self.inHeader:
-                self.inHeader = False
-            else:
-                if self.inWatchlist:
-                    self.watchlist.append(self.anime)
-                if self.inReadlist:
-                    self.readlist.append(self.anime)
-        if tag == 'td' and self.inData:
-            self.inData = False
-        if self.inName and tag == 'a':
-            self.inName = False
-
-    def handle_data(self, data):
-        if self.inh4 == True and data == 'Watchlist (Anime)':
-            self.inWatchlist = True
-
-        if self.inh4 and data == 'Readlist (Manga)':
-           self.inReadlist = True
-
-        if self.inName:
-            if self.inWatchlist or self.inReadlist:
-                self.anime['name'] = data
-
-
-
-
 main()

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно