anime-dl / anime-downloader

A simple but powerful anime downloader and streamer.
The Unlicense
1.92k stars 217 forks source link

Problem with dreamanime #384

Closed gingerbeardman closed 4 years ago

gingerbeardman commented 4 years ago

Describe the bug

raise JSONDecodeError("Expecting value", s, err.value) from None

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

To reproduce

anime -ll DEBUG dl 'penguin highway' --provider dreamanime
LOG ``` matt@matt:~$ anime -ll DEBUG dl 'penguin highway' --provider dreamanime 2020-05-31 19:08:26 matt.local anime_downloader.util[41512] INFO anime-downloader 4.3.0 2020-05-31 19:08:26 matt.local anime_downloader.util[41512] DEBUG Platform: macOS-10.14.6-x86_64-i386-64bit 2020-05-31 19:08:26 matt.local anime_downloader.util[41512] DEBUG Python 3.8.2 2020-05-31 19:08:26 matt.local anime_downloader.sites.helpers.request[41512] DEBUG ----- 2020-05-31 19:08:26 matt.local anime_downloader.sites.helpers.request[41512] DEBUG GET https://dreamanime.fun/search 2020-05-31 19:08:26 matt.local anime_downloader.sites.helpers.request[41512] DEBUG {'params': {'term': 'penguin highway'}} 2020-05-31 19:08:26 matt.local anime_downloader.sites.helpers.request[41512] DEBUG {'user-agent': 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11'} 2020-05-31 19:08:26 matt.local anime_downloader.sites.helpers.request[41512] DEBUG ----- send: b'GET /search?term=penguin+highway HTTP/1.1\r\nHost: dreamanime.fun\r\nuser-agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nConnection: keep-alive\r\n\r\n' reply: 'HTTP/1.1 200 OK\r\n' header: Date: Sun, 31 May 2020 18:08:26 GMT header: Content-Type: text/html; charset=UTF-8 header: Transfer-Encoding: chunked header: Connection: keep-alive header: Set-Cookie: __cfduid=d9c4eb3fdfa4afabb58b112d53df702da1590948506; expires=Tue, 30-Jun-20 18:08:26 GMT; path=/; domain=.dreamanime.fun; HttpOnly; SameSite=Lax; Secure header: X-Powered-By: PHP/7.0.33 header: Expires: Thu, 19 Nov 1981 08:52:00 GMT header: Cache-Control: no-store, no-cache, must-revalidate header: Pragma: no-cache header: Set-Cookie: PHPSESSID=t18d77encvnr5dm5bnd2o35sc3; path=/ header: Vary: Accept-Encoding header: CF-Cache-Status: DYNAMIC header: cf-request-id: 030d84c4770000e67479bad200000001 header: Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" header: Server: cloudflare header: CF-RAY: 59c2a3e72f87e674-LHR header: Content-Encoding: gzip 2020-05-31 19:08:26 matt.local anime_downloader.session[41512] DEBUG uncached request 2020-05-31 19:08:26 matt.local anime_downloader.sites.helpers.request[41512] DEBUG https://dreamanime.fun/search?term=penguin+highway 2020-05-31 19:08:26 matt.local anime_downloader.sites.helpers.request[41512] DEBUG /var/folders/sy/jcz9n9dn2t98677rzpmyvkr00000gn/T/animedl2ql9w0xf/tmpnice5l7j +--------+-----------------+--------+ | 1 | Penguin Highway | | |--------+-----------------+--------| | SlNo | Title | Meta | +--------+-----------------+--------+ Enter the anime no: [1]: 1 2020-05-31 19:08:30 matt.local anime_downloader.util[41512] INFO Selected Penguin Highway 2020-05-31 19:08:30 matt.local anime_downloader.sites.anime[41512] INFO Extracting episode info from page 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG ----- 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG GET https://dreamanime.fun/anime/3939-penguin-highway 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG {} 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG {'user-agent': 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11'} 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG ----- send: b'GET /anime/3939-penguin-highway HTTP/1.1\r\nHost: dreamanime.fun\r\nuser-agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nConnection: keep-alive\r\nCookie: __cfduid=d9c4eb3fdfa4afabb58b112d53df702da1590948506; PHPSESSID=t18d77encvnr5dm5bnd2o35sc3\r\n\r\n' reply: 'HTTP/1.1 200 OK\r\n' header: Date: Sun, 31 May 2020 18:08:30 GMT header: Content-Type: text/html; charset=UTF-8 header: Transfer-Encoding: chunked header: Connection: keep-alive header: X-Powered-By: PHP/7.0.33 header: Expires: Thu, 19 Nov 1981 08:52:00 GMT header: Cache-Control: no-store, no-cache, must-revalidate header: Pragma: no-cache header: Vary: Accept-Encoding header: CF-Cache-Status: DYNAMIC header: cf-request-id: 030d84d1970000e674798c1200000001 header: Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" header: Server: cloudflare header: CF-RAY: 59c2a3fc2917e674-LHR header: Content-Encoding: gzip 2020-05-31 19:08:30 matt.local anime_downloader.session[41512] DEBUG uncached request 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG https://dreamanime.fun/anime/3939-penguin-highway 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG /var/folders/sy/jcz9n9dn2t98677rzpmyvkr00000gn/T/animedl2ql9w0xf/tmpiecx5o17 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG ----- 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG GET https://dreamanime.fun/anime/3939-penguin-highway 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG {} 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG {'user-agent': 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11'} 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG ----- 2020-05-31 19:08:30 matt.local anime_downloader.session[41512] DEBUG cached request 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG https://dreamanime.fun/anime/3939-penguin-highway 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG /var/folders/sy/jcz9n9dn2t98677rzpmyvkr00000gn/T/animedl2ql9w0xf/tmpclzcsyad 2020-05-31 19:08:30 matt.local anime_downloader.sites.anime[41512] DEBUG EPISODE IDS: length: 1, ids: ['http://dreamanime.fun/anime/watch/189328-penguin-highway-movie-english-sub'] 2020-05-31 19:08:30 matt.local anime_downloader.commands.dl[41512] INFO Found anime: Penguin Highway 2020-05-31 19:08:30 matt.local anime_downloader.commands.dl[41512] INFO Downloading to /Users/matt/Downloads/1234_JD 2020-05-31 19:08:30 matt.local anime_downloader.sites.anime[41512] DEBUG Extracting stream info of id: http://dreamanime.fun/anime/watch/189328-penguin-highway-movie-english-sub 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG ----- 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG GET http://dreamanime.fun/anime/watch/189328-penguin-highway-movie-english-sub 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG {} 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG {'user-agent': 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11'} 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG ----- send: b'GET /anime/watch/189328-penguin-highway-movie-english-sub HTTP/1.1\r\nHost: dreamanime.fun\r\nuser-agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nConnection: keep-alive\r\nCookie: PHPSESSID=t18d77encvnr5dm5bnd2o35sc3\r\n\r\n' reply: 'HTTP/1.1 301 Moved Permanently\r\n' header: Date: Sun, 31 May 2020 18:08:30 GMT header: Transfer-Encoding: chunked header: Connection: keep-alive header: Cache-Control: max-age=3600 header: Expires: Sun, 31 May 2020 19:08:30 GMT header: Location: https://dreamanime.fun/anime/watch/189328-penguin-highway-movie-english-sub header: cf-request-id: 030d84d2820000f4333ca28200000001 header: Vary: Accept-Encoding header: Server: cloudflare header: CF-RAY: 59c2a3fd9c27f433-LHR 2020-05-31 19:08:30 matt.local anime_downloader.session[41512] DEBUG uncached request send: b'GET /anime/watch/189328-penguin-highway-movie-english-sub HTTP/1.1\r\nHost: dreamanime.fun\r\nuser-agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nConnection: keep-alive\r\nCookie: __cfduid=d9c4eb3fdfa4afabb58b112d53df702da1590948506; PHPSESSID=t18d77encvnr5dm5bnd2o35sc3\r\n\r\n' reply: 'HTTP/1.1 200 OK\r\n' header: Date: Sun, 31 May 2020 18:08:30 GMT header: Content-Type: text/html; charset=UTF-8 header: Transfer-Encoding: chunked header: Connection: keep-alive header: X-Powered-By: PHP/7.0.33 header: Expires: Thu, 19 Nov 1981 08:52:00 GMT header: Cache-Control: no-store, no-cache, must-revalidate header: Pragma: no-cache header: Vary: Accept-Encoding header: CF-Cache-Status: DYNAMIC header: cf-request-id: 030d84d2c70000e674798d6200000001 header: Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" header: Server: cloudflare header: CF-RAY: 59c2a3fe0ce6e674-LHR header: Content-Encoding: gzip 2020-05-31 19:08:30 matt.local anime_downloader.session[41512] DEBUG uncached request 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG https://dreamanime.fun/anime/watch/189328-penguin-highway-movie-english-sub 2020-05-31 19:08:30 matt.local anime_downloader.sites.helpers.request[41512] DEBUG /var/folders/sy/jcz9n9dn2t98677rzpmyvkr00000gn/T/animedl2ql9w0xf/tmpvp1ors1_ Traceback (most recent call last): File "/usr/local/bin/anime", line 11, in load_entry_point('anime-downloader==4.3.0', 'console_scripts', 'anime')() File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/anime_downloader/cli.py", line 53, in main cli() File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/click/core.py", line 829, in __call__ return self.main(*args, **kwargs) File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/click/core.py", line 782, in main rv = self.invoke(ctx) File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/click/core.py", line 610, in invoke return callback(*args, **kwargs) File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func return f(get_current_context(), *args, **kwargs) File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/anime_downloader/commands/dl.py", line 112, in command for episode in animes: File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/anime_downloader/sites/anime.py", line 198, in __iter__ yield episode_class(ep_id[1], parent=self, ep_no=ep_id[0]) File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/anime_downloader/sites/anime.py", line 293, in __init__ try_data() File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/anime_downloader/sites/anime.py", line 289, in try_data self.get_data() File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/anime_downloader/sites/anime.py", line 349, in get_data self._sources = self._get_sources() File "/usr/local/Cellar/anime-downloader/HEAD-16c6268/libexec/lib/python3.8/site-packages/anime_downloader/sites/dreamanime.py", line 74, in _get_sources hosts = json.loads(soup.find("div", {"class":"spatry"}).previous_sibling.previous_sibling.text[21:-2])["videos"] File "/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/json/__init__.py", line 357, in loads return _default_decoder.decode(s) File "/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) matt@matt:~$ ```
AbdullahM0hamed commented 4 years ago

Hmmm, unable to replicate the problem with this either (extractor still returns an invalid link at the end, though). Are you still having this issue?

gingerbeardman commented 4 years ago

Yes, this issue was posted immediately after I encountered it. Just tried again and I still get it.

I also tried replacing trollvid with mp4upload in my config, similar to other issues, but it still does not work.

Blatzar commented 4 years ago

Can you go ahead and add print(soup) on line 74 like picture and upload output so we can debug easier. This should also be replaced with regex preferably. image

gingerbeardman commented 4 years ago

here we go

edit: corrected!

<!DOCTYPE html>

<html dir="ltr" lang="en">
<head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
<title>Watch Penguin Highway MOVIE English Sub - Subbed &amp; Dubbed Episodes | Dreamanime</title>
<meta content="Different mirrors for comfortable streaming for all available episodes." name="description"/>
<meta content="width=device-width, initial-scale=1" name="viewport"/>
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta content="yes" name="mobile-web-app-capable"/>
<meta content="Dreamanime" name="application-name"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/css?family=Roboto:400,700|Roboto%20Condensed:400,700" rel="stylesheet"/>
<link href="/img/favicon.png" rel="icon" type="image/png"/>
<link href="/css/gene-imt.css" rel="stylesheet"/>
<link href="/css/my.css?v=1234579" rel="stylesheet"/>
<script async="async" src="//platform-api.sharethis.com/js/sharethis.js#property=5d2732df07f9ac0012ebd748&amp;product=inline-share-buttons" type="text/javascript"></script>
<meta content="Hx83tj5iHYQPOCHd2GnaVt42C7AgamfFngINvG803TA" name="google-site-verification">
<script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-123727470-4"></script>
<script>
          window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.push(arguments);}
          gtag('js', new Date());

          gtag('config', 'UA-123727470-4');
        </script>
<script data-cfasync="false" src="sw.js"></script>
<script type="text/javascript">
            (function() {
                var adConfig = {
                "ads_host": "a.exdynsrv.com",
                "syndication_host": "syndication.exdynsrv.com",
                "idzone": 3726973,
                "popup_fallback": false,
                "popup_force": false,
                "chrome_enabled": true,
                "new_tab": false,
                "frequency_period": 20,
                "frequency_count": 1,
                "trigger_method": 1,
                "trigger_class": ""
            };
                if(!window.document.querySelectorAll){document.querySelectorAll=document.body.querySelectorAll=Object.querySelectorAll=function querySelectorAllPolyfill(r,c,i,j,a){var d=document,s=d.createStyleSheet();a=d.all;c=[];r=r.replace(/\[for\b/gi,"[htmlFor").split(",");for(i=r.length;i--;){s.addRule(r[i],"k:v");for(j=a.length;j--;){a[j].currentStyle.k&&c.push(a[j])}s.removeRule(0)}return c}}var popMagic={version:"1.0.0",cookie_name:"",url:"",config:{},open_count:0,top:null,browser:null,configTpl:{ads_host:"",syndication_host:"",idzone:"",frequency_period:720,frequency_count:1,trigger_method:1,trigger_class:"",popup_force:false,popup_fallback:false,chrome_enabled:true,new_tab:false,cat:"",tags:"",el:"",sub:"",sub2:"",sub3:""},init:function(config){if(typeof config.idzone==="undefined"||!config.idzone){return}for(var key in this.configTpl){if(!this.configTpl.hasOwnProperty(key)){continue}if(typeof config[key]!=="undefined"){this.config[key]=config[key]}else{this.config[key]=this.configTpl[key]}}if(typeof this.config.idzone==="undefined"||this.config.idzone===""){return}this.loadHosted();this.addEventToElement(window,"load",this.preparePop)},getCountFromCookie:function(){var shownCookie=popMagic.getCookie(popMagic.cookie_name);var ctr=typeof shownCookie==="undefined"?0:parseInt(shownCookie);if(isNaN(ctr)){ctr=0}return ctr},shouldShow:function(){if(popMagic.open_count>=popMagic.config.frequency_count){return false}var ctr=popMagic.getCountFromCookie();popMagic.open_count=ctr;return!(ctr>=popMagic.config.frequency_count)},setAsOpened:function(){var new_ctr=1;if(popMagic.open_count!==0){new_ctr=popMagic.open_count+1}else{new_ctr=popMagic.getCountFromCookie()+1}popMagic.setCookie(popMagic.cookie_name,new_ctr,popMagic.config.frequency_period);if(new_ctr>=popMagic.config.frequency_count){popMagic.setCookie("nb-no-req-"+popMagic.config.idzone,true,popMagic.config.frequency_period)}},loadHosted:function(){var hostedScript=document.createElement("script");hostedScript.type="text/javascript";hostedScript.async=true;hostedScript.src="//"+this.config.ads_host+"/popunder1000.js";hostedScript.id="popmagicldr";for(var key in this.config){if(!this.config.hasOwnProperty(key)){continue}if(key==="ads_host"||key==="syndication_host"){continue}hostedScript.setAttribute("data-exo-"+key,this.config[key])}var insertAnchor=document.getElementsByTagName("body").item(0);if(insertAnchor.firstChild){insertAnchor.insertBefore(hostedScript,insertAnchor.firstChild)}else{insertAnchor.appendChild(hostedScript)}},preparePop:function(){if(typeof exoJsPop101==="object"&&exoJsPop101.hasOwnProperty("add")){return}popMagic.top=self;if(popMagic.top!==self){try{if(top.document.location.toString()){popMagic.top=top}}catch(err){}}popMagic.cookie_name="splashWeb-"+popMagic.config.idzone+"-42";popMagic.buildUrl();popMagic.browser=popMagic.browserDetector.detectBrowser(navigator.userAgent);if(!popMagic.config.chrome_enabled&&(popMagic.browser.name==="chrome"||popMagic.browser.name==="crios")){return}var popMethod=popMagic.getPopMethod(popMagic.browser);popMagic.addEvent("click",popMethod)},getPopMethod:function(browserInfo){if(popMagic.config.popup_force){return popMagic.methods.popup}if(popMagic.config.popup_fallback&&browserInfo.name==="chrome"&&browserInfo.version>=68&&!browserInfo.isMobile){return popMagic.methods.popup}if(browserInfo.isMobile){return popMagic.methods.default}if(browserInfo.name==="chrome"){return popMagic.methods.chromeTab}return popMagic.methods.default},buildUrl:function(){var protocol=document.location.protocol!=="https:"&&document.location.protocol!=="http:"?"https:":document.location.protocol;var p=top===self?document.URL:document.referrer;var script_info={type:"inline",name:"popMagic",ver:this.version};var encodeScriptInfo=function(script_info){var result=script_info["type"]+"|"+script_info["name"]+"|"+script_info["ver"];return encodeURIComponent(btoa(result))};this.url=protocol+"//"+this.config.syndication_host+"/splash.php"+"?cat="+this.config.cat+"&idzone="+this.config.idzone+"&type=8"+"&p="+encodeURIComponent(p)+"&sub="+this.config.sub+(this.config.sub2!==""?"&sub2="+this.config.sub2:"")+(this.config.sub3!==""?"&sub3="+this.config.sub3:"")+"&block=1"+"&el="+this.config.el+"&tags="+this.config.tags+"&scr_info="+encodeScriptInfo(script_info)},addEventToElement:function(obj,type,fn){if(obj.addEventListener){obj.addEventListener(type,fn,false)}else if(obj.attachEvent){obj["e"+type+fn]=fn;obj[type+fn]=function(){obj["e"+type+fn](window.event)};obj.attachEvent("on"+type,obj[type+fn])}else{obj["on"+type]=obj["e"+type+fn]}},addEvent:function(type,fn){var targetElements;if(popMagic.config.trigger_method=="3"){targetElements=document.querySelectorAll("a");for(i=0;i<targetElements.length;i++){popMagic.addEventToElement(targetElements[i],type,fn)}return}if(popMagic.config.trigger_method=="2"&&popMagic.config.trigger_method!=""){var trigger_classes;var trigger_classes_final=[];if(popMagic.config.trigger_class.indexOf(",")===-1){trigger_classes=popMagic.config.trigger_class.split(" ")}else{var trimmed_trigger_classes=popMagic.config.trigger_class.replace(/\s/g,"");trigger_classes=trimmed_trigger_classes.split(",")}for(var i=0;i<trigger_classes.length;i++){if(trigger_classes[i]!==""){trigger_classes_final.push("."+trigger_classes[i])}}targetElements=document.querySelectorAll(trigger_classes_final.join(", "));for(i=0;i<targetElements.length;i++){popMagic.addEventToElement(targetElements[i],type,fn)}return}popMagic.addEventToElement(document,type,fn)},setCookie:function(name,value,ttl_minutes){var now_date=new Date;now_date.setMinutes(now_date.getMinutes()+parseInt(ttl_minutes));var c_value=encodeURIComponent(value)+"; expires="+now_date.toUTCString()+"; path=/";document.cookie=name+"="+c_value},getCookie:function(name){var i,x,y,cookiesArray=document.cookie.split(";");for(i=0;i<cookiesArray.length;i++){x=cookiesArray[i].substr(0,cookiesArray[i].indexOf("="));y=cookiesArray[i].substr(cookiesArray[i].indexOf("=")+1);x=x.replace(/^\s+|\s+$/g,"");if(x===name){return decodeURIComponent(y)}}},randStr:function(length,possibleChars){var text="";var possible=possibleChars||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(var i=0;i<length;i++){text+=possible.charAt(Math.floor(Math.random()*possible.length))}return text},isValidUserEvent:function(event){if("isTrusted"in event&&event.isTrusted&&popMagic.browser.name!=="ie"&&popMagic.browser.name!=="safari"){return true}else{return event.screenX!=0&&event.screenY!=0}},isValidHref:function(href){if(typeof href==="undefined"||href==""){return false}var empty_ref=/\s?javascript\s?:/i;return!empty_ref.test(href)},findLinkToOpen:function(clickedElement){var target=clickedElement;var location=false;try{var breakCtr=0;while(breakCtr<20&&!target.getAttribute("href")&&target!==document&&target.nodeName.toLowerCase()!=="html"){target=target.parentNode;breakCtr++}var elementTargetAttr=target.getAttribute("target");if(!elementTargetAttr||elementTargetAttr.indexOf("_blank")===-1){location=target.getAttribute("href")}}catch(err){}if(!popMagic.isValidHref(location)){location=false}return location||window.location.href},getPuId:function(){return"ok_"+Math.floor(89999999*Math.random()+1e7)},browserDetector:{browserDefinitions:[["firefox",/Firefox\/([0-9.]+)(?:\s|$)/],["opera",/Opera\/([0-9.]+)(?:\s|$)/],["opera",/OPR\/([0-9.]+)(:?\s|$)$/],["edge",/Edge\/([0-9._]+)/],["ie",/Trident\/7\.0.*rv:([0-9.]+)\).*Gecko$/],["ie",/MSIE\s([0-9.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["safari",/Version\/([0-9._]+).*Safari/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9.]+)(:?\s|$)/],["bb10",/BB10;\sTouch.*Version\/([0-9.]+)/],["android",/Android\s([0-9.]+)/],["ios",/Version\/([0-9._]+).*Mobile.*Safari.*/],["yandexbrowser",/YaBrowser\/([0-9._]+)/],["crios",/CriOS\/([0-9.]+)(:?\s|$)/]],detectBrowser:function(userAgent){var isMobile=userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile|WebOS|Windows Phone/i);for(var i in this.browserDefinitions){var definition=this.browserDefinitions[i];if(definition[1].test(userAgent)){var match=definition[1].exec(userAgent);var version=match&&match[1].split(/[._]/).slice(0,3);var versionTails=Array.prototype.slice.call(version,1).join("")||"0";if(version&&version.length<3){Array.prototype.push.apply(version,version.length===1?[0,0]:[0])}return{name:definition[0],version:version.join("."),versionNumber:parseFloat(version[0]+"."+versionTails),isMobile:isMobile}}}return{name:"other",version:"1.0",versionNumber:1,isMobile:isMobile}}},methods:{default:function(triggeredEvent){if(!popMagic.shouldShow()||!popMagic.isValidUserEvent(triggeredEvent))return true;var clickedElement=triggeredEvent.target||triggeredEvent.srcElement;var href=popMagic.findLinkToOpen(clickedElement);window.open(href,"_blank");popMagic.setAsOpened();popMagic.top.document.location=popMagic.url;if(typeof triggeredEvent.preventDefault!=="undefined"){triggeredEvent.preventDefault();triggeredEvent.stopPropagation()}return true},chromeTab:function(event){if(!popMagic.shouldShow()||!popMagic.isValidUserEvent(event))return true;if(typeof event.preventDefault!=="undefined"){event.preventDefault();event.stopPropagation()}else{return true}var a=top.window.document.createElement("a");var target=event.target||event.srcElement;a.href=popMagic.findLinkToOpen(target);document.getElementsByTagName("body")[0].appendChild(a);var e=new MouseEvent("click",{bubbles:true,cancelable:true,view:window,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:true,altKey:false,shiftKey:false,metaKey:true,button:0});e.preventDefault=undefined;a.dispatchEvent(e);a.parentNode.removeChild(a);window.open(popMagic.url,"_self");popMagic.setAsOpened()},popup:function(triggeredEvent){if(!popMagic.shouldShow()||!popMagic.isValidUserEvent(triggeredEvent))return true;var winOptions="";if(popMagic.config.popup_fallback&&!popMagic.config.popup_force){var height=Math.max(Math.round(window.innerHeight*.8),300);var width=Math.max(Math.round(window.innerWidth*.7),300);var top=window.screenY+100;var left=window.screenX+100;winOptions="menubar=1,resizable=1,width="+width+",height="+height+",top="+top+",left="+left}var prePopUrl=document.location.href;var popWin=window.open(prePopUrl,popMagic.getPuId(),winOptions);setTimeout(function(){popWin.location.href=popMagic.url},200);popMagic.setAsOpened();if(typeof triggeredEvent.preventDefault!=="undefined"){triggeredEvent.preventDefault();triggeredEvent.stopPropagation()}}}};    popMagic.init(adConfig);
            })();
        </script>
</meta></meta></meta></head>
<body>
<style>
            #top-left,
            #top-right{
                background-color:#161718;
                position: absolute;
                top: 73px;
            }
            #top-left{
                left: 10px;
            }
            #top-right {
                right: 10px;
            }

            @media only screen and (max-width: 1805px) {
                #top-left {
                    transform: scale(0.77);
                    transform-origin: 1px;
                }
                #top-right {
                    transform: scale(0.77);
                    transform-origin: 310px;
                }
            }

            @media only screen and (max-width: 1669px) {
                #top-left {
                    transform: scale(0.55);
                    transform-origin: 1px;
                }
                #top-right {
                    transform: scale(0.55);
                    transform-origin: 310px;
                }
            }

            @media only screen and (max-width: 1533px) {
                #top-left,
                #top-right {
                    display: none;
                }
            }
        </style>
<div id="top-left"><div id="bg_299964094"></div><script async="" defer="" src="//platform.bidgear.com/async.php?domainid=2999&amp;sizeid=6&amp;zoneid=4094&amp;k=5e37a6221782c" type="text/javascript"></script></div>
<div id="top-right"><div id="bg_299964093"></div><script async="" defer="" src="//platform.bidgear.com/async.php?domainid=2999&amp;sizeid=6&amp;zoneid=4093&amp;k=5e37a612addd2" type="text/javascript"></script></div>
<div class="desktopHeader-30ePW2">
<div class="desktopHeaderInner-2lzV2k">
<ul class="desktopHeaderNavRight-13X2_n">
<li class="desktopListItemInactive-jld-9m desktopListItem-36zxOr"><a href="/"><img alt="DreamAnime Logo" height="60" src="/img/dreamanime.png"/> </a></li>
</ul>
<ul class="desktopHeaderNav-2UMmtD">
<li class="desktopListItemInactive-jld-9m desktopListItem-36zxOr"><a href="/anime-list"><span class="headerA_text">Anime</span></a></li>
<li class="desktopListItemInactive-jld-9m desktopListItem-36zxOr"><a href="https://network.nutaku.net/images/landing/tgp/18/page.html?ats=eyJhIjo2MTAwMiwiYyI6MjQ0MDk2LCJuIjoxLCJzIjoxLCJlIjo4MTM1LCJwIjoxfQ==" target="_blank"><span class="headerA_text">+18 / Hentai Games</span></a></li>
<li class="desktopListItemInactive-jld-9m desktopListItem-36zxOr"><a href="/browse-cartoons"><span class="headerA_text">Cartoons</span></a></li>
<li class="desktopListItemInactive-jld-9m desktopListItem-36zxOr"><a href="https://movies123.blue/movies/" target="_blank"><span class="headerA_text">Movies</span></a></li>
</ul>
<ul class="desktopHeaderNavRight-13X2_n vdvds">
<form action="/search" class="searchform" method="get">
<input aria-label="Search" class="searchinput" name="term" placeholder="Search" type="search"/>
<svg class="searchv" viewbox="0 0 24 24"><path d="M13.262,14.868l2.479,2.478c-0.376,0.725-0.415,1.445-0.017,1.843l4.525,4.526 c0.571,0.571,1.812,0.257,2.768-0.7c0.956-0.955,1.269-2.195,0.697-2.766l-4.524-4.526c-0.399-0.398-1.119-0.36-1.842,0.016 l-2.48-2.478L13.262,14.868z M8.5,0C3.806,0,0,3.806,0,8.5C0,13.194,3.806,17,8.5,17S17,13.194,17,8.5C17,3.806,13.194,0,8.5,0z M8.5,15C4.91,15,2,12.09,2,8.5S4.91,2,8.5,2S15,4.91,15,8.5S12.09,15,8.5,15z"></path></svg>
</form>
</ul>
<a aria-expanded="false" aria-label="menu" class="navbar-burger" data-target="navMenu" id="menu" role="button"><span aria-hidden="true"></span> <span aria-hidden="true"></span> <span aria-hidden="true"></span></a>
</div>
</div>
<div class="main">
<style>
    @media only screen and (max-width: 960px) {
      #mobilesearchform {
            margin: 0 auto; 
            margin-bottom: 10px; 
            width: 100%;
            display: block !important;
            padding-left: 5px;
            padding-right: 5px;
        }
        #st-1 {
            padding-right: 5px;
        }
        .sear-conts {
            display: none;
        }
    }
</style>
<form action="/search" class="searchform" id="mobilesearchform" method="get" style="display: none;">
<input aria-label="Search" class="searchinput" name="term" placeholder="Search" type="search"/>
<svg class="searchv" viewbox="0 0 24 24"><path d="M13.262,14.868l2.479,2.478c-0.376,0.725-0.415,1.445-0.017,1.843l4.525,4.526 c0.571,0.571,1.812,0.257,2.768-0.7c0.956-0.955,1.269-2.195,0.697-2.766l-4.524-4.526c-0.399-0.398-1.119-0.36-1.842,0.016 l-2.48-2.478L13.262,14.868z M8.5,0C3.806,0,0,3.806,0,8.5C0,13.194,3.806,17,8.5,17S17,13.194,17,8.5C17,3.806,13.194,0,8.5,0z M8.5,15C4.91,15,2,12.09,2,8.5S4.91,2,8.5,2S15,4.91,15,8.5S12.09,15,8.5,15z"></path></svg>
</form><script src="https://www.google.com/recaptcha/api.js?render=6Lemj60UAAAAAB_KNctwFKuU3JclzXlXExH602qW"></script>
<link as="document" href="https://movies123.top/movie-like.php" id="preloaded" rel="preload"/>
<style>
   div#player {
   overflow: hidden;
   margin-bottom: 10px;
   }
   div#player iframe {
   width: 100% !important;
   height: 100% !important;
   }
   a.dropdown-item.text-capitalize {
   overflow: hidden;
   background: initial;
   width: 100%;
   cursor: pointer;
   border: 2px solid #212121;
   color: #d0d0d0;
   padding-top: 6px;
   padding-bottom: 6px;
   padding-left: 10px;
   font: normal normal 400 normal 13px / 20px Roboto, "Segoe UI", Arial, sans-serif;
   font-size: 14px;
   outline: none!important;
   padding: 5px;
   margin: 2px;
   }
   .download-button {
   overflow: hidden;
   background: initial;
   width: 100%;
   cursor: pointer;
   border: 2px solid #212121;
   color: #ffffff;
   background-color: #00acc1;
   padding-top: 6px;
   padding-bottom: 6px;
   padding-left: 10px;
   font: normal normal 400 normal 13px / 20px Roboto, "Segoe UI", Arial, sans-serif;
   font-size: 14px;
   outline: none!important;
   padding: 5px;
   margin: 2px;
   }
   .spatry {
   width: 100% !important;
   overflow: hidden;
   position: relative;
   }
   .main {
   max-width: 1170px  !important;
   margin: 0 auto  !important;
   width: 100%  !important;
   overflow: hidden  !important;
   }
   .consty {
   display: flex;
   transition: all .15s ease;
   z-index: 2;
   position: absolute;
   top: 0;
   background-color: rgba(23,23,23,.8);
   padding: .5em 1em;
   }
   .consty span {
   width: 90px;
   }
   .sixteen.wide.column {
   display: flex;
   align-items: center;
   width: 100%!important;
   position: relative;
   padding-left: 1rem;
   padding-right: 1rem;
   vertical-align: top;
   }
   .info {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-orient: horizontal;
   -webkit-box-direction: normal;
   -ms-flex-direction: row;
   flex-direction: row;
   }
   a.cover img {
   width: 50px;
   border-style: none;
   }
   .details {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
   margin: 0 0 0 1em;
   }
   .info h1 {
   margin: 0!important;
   font-size: 1.15rem;
   }
   .actions {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   margin-left: auto;
   }
   .info h2 {
   margin: .2em 0 0;
   font-weight: 400;
   font-size: .65rem;
   text-transform: uppercase;
   color: #b9b9b9;
   }
   .details>.info {
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
   display: flex;
   }
   .actions .ui.basic.button {
   margin-left: .75em;
   display: inline-flex;
   -webkit-box-align: center;
   align-items: center;
   -webkit-box-pack: center;
   justify-content: center;
   color: #b9b9b9;
   min-width: 0;
   padding: .75em 1.25em;
   font-size: 0.9em;
   }
   .ui.button.master {
   font-weight: 700;
   background: inherit;
   border: 2px solid #221f1f;
   box-shadow: none;
   text-transform: uppercase;
   cursor: pointer;
   display: inline-block;
   min-height: 1em;
   vertical-align: baseline;
   margin: 0;
   font-family: roboto condensed,Helvetica,sans-serif;
   line-height: 1em;
   font-style: normal;
   text-align: center;
   color: #f9f9f9;
   }
   .ui.button.basic svg {
   margin-right: 0;
   fill: #b9b9b9;
   width: 1.5em;
   height: 1.5em;
   }
   .ui.master.header>.border {
   padding-bottom: .3em;
   border-bottom: solid 1px #e50914;
   text-transform: uppercase;
   font-family: roboto condensed, Helvetica, sans-serif;
   font-weight: 700;
   line-height: 1.2857em;
   }
   .border {
   border: none;
   margin: calc(2rem - .14285714em) 0 1rem;
   padding: .25em 0;
   font-family: roboto condensed,Helvetica,sans-serif;
   font-weight: 700;
   line-height: 1.28571429em;
   color: #f9f9f9;
   text-transform: uppercase;
   padding-bottom: .3em;
   border-bottom: solid 1px #e50914;
   font-size: .8rem;
   }
   .spatry {
   overflow: hidden;
   /*margin-left: 10px;
   margin-right: 10px;*/
   }
   @media (max-width: 960px) {
   .consty {
   position: inherit;
   width: 95%;
   margin: 0 auto;
   margin-bottom: 10px;
   }
   div#player {
   margin-bottom: 10px !important;
   height: 520px !important;
   width: 95%;
   margin: 0 auto;
   }
   }
   @media (max-width: 720px) {
   div#player {
   height: 420px !important;
   }
   }
   @media (max-width: 520px) {
   div#player {
   height: 360px !important;
   }
   .actions {
   width: 80%;
   margin: 0 auto;
   }
   .sixteen.wide.column {
   display: inherit;
   }
   }
   @media (max-width: 420px) {
   div#player {
   height: 320px !important;
   }
   }
</style>
<script type="text/javascript">
    $(document).ready(function(){
        $('#poster-image').attr("style", "display:none;");
        $.getJSON( "https://kitsu.io/api/edge/anime?filter[text]=Penguin Highway", function( data ) {
            var poster = data["data"][0]["attributes"]["posterImage"]["tiny"];
            var kitsuURL = "https://kitsu.io/anime/" + data["data"][0]["attributes"]["slug"];
            $('#poster-image').attr("src", poster);
            $('#poster-image').attr("style", "display:block;");

            document.getElementById("kitsulink").style.display = "block"; 
            document.getElementById("kitsulink2").style.display = "none"; 
            $('#kitsulink a').attr("href", kitsuURL);
        });
    });
</script>
<script type="text/javascript">
      var episode = {"id":"189328","anime_id":"3939","slug":"penguin-highway-episode-1","number":null,"name":{"default":"Penguin Highway MOVIE"},"title":"","description":"","date":"2019-02-23 01:26:22","videos":[{"host":"trollvid","id":"4a0d5f1a1b59","type":"subbed","date":"2019-02-23 02:33:29"},{"host":"mp4upload","id":"pv3eojrun2qz","type":"subbed","date":"2019-02-23 01:26:22"}],"image":"\/\/cdn.animeapi.com\/images\/2\/pv3eojrun2qz_352x220.jpg","next_id":null,"previous_id":null,"url":"http:\/\/dreamanime.fun\/anime\/watch\/189328-penguin-highway-movie","lang":"subbed"};
</script>
<div class="spatry">
<style>
      #trailerframe {
      opacity: 0.001 !Important;
      }
      #frameholder {
          z-index: 100 !important;
      }
   </style>
<div class="embed-container" id="player" style="height:640px;"></div>
<style>
       #underplayerad {
           margin: 10px;
       }

       #underplayerad-mobile div, 
       #underplayerad-tablet div {
           margin: 0 auto;
       }

       #underplayerad-tablet {
           margin-bottom: 15px;
       }

       @media only screen and (min-width: 450px) {
            #underplayerad-mobile {
               display: none;
            }
        }
        @media only screen and (max-width: 449px) {
            #underplayerad-tablet {
               display: none;
            }
        }

        @media only screen and (min-width: 1536px) {
            #underplayerad-tablet {
               display: none;
           }
        }
   </style>
<div id="underplayerad-mobile">
<div id="bg_299974075"></div><script async="" defer="" src="//platform.bidgear.com/async.php?domainid=2999&amp;sizeid=7&amp;zoneid=4075&amp;k=5e37a5ed60780" type="text/javascript"></script>
</div>
<div id="underplayerad-tablet">
<div id="bg_2999164076"></div><script async="" defer="" src="//platform.bidgear.com/async.php?domainid=2999&amp;sizeid=16&amp;zoneid=4076&amp;k=5e37a5fbe2f4c" type="text/javascript"></script>
</div>
<style>
    a {
        color:#eeedeb;
    }
    #underplayerad-tablet a,#underplayerad-mobile a {
        color:#111111;
    }

    #external-anime {
        margin: 0 auto;
    }

    #external-anime {
        width: 100%; 
        margin-top: 18px;
    }

    @media (max-width: 1170px) {
        #external-anime {
            margin-left: 2%;
            width: 96%;
        }
        .sharethis-inline-share-buttons {
            margin-left: 7px;
        }
    }

    .actions {
        padding-top: 15px;
        justify-content: center;
    }

    .actions a {
        background-color: #212121;
        border: 1px solid #343434;
        border-radius: 20px;
    }

    #next {
        padding-left: 25px;
    }
    #previous {
        padding-right: 25px;
    }
   </style>
<div id="other-elements">
<br/>
<style>
       @media (max-width: 955px) {
           .consty { display: table;border-collapse: separate; border-spacing: 5px;}
           #mirrors { display: table-cell;}
           #mirrors .dropdown-item { display: table; margin: 5px 0; padding: 1px; }
       }
       </style>
<div class="consty">
<span><b>Switch Server</b></span>
<div aria-labelledby="btnGroupDrop1" class="dropdown-menu p-0" id="mirrors"></div>
</div>
<div style='font:normal normal 400 normal 13px / 20px Roboto, "Segoe UI", Arial, sans-serif; padding-left:10px;'>Mp4upload &amp; Vidstreaming for Downloads <i class="fa fa-download"></i></div>
<br/>
<div class="sharethis-inline-share-buttons"></div>
<br/>
<div class="sixteen wide column">
<div class="info">
<a class="cover" href="https://dreamanime.fun/anime/3939-penguin-highway" title="All Episodes"><img alt="Penguin Highway English Sub Poster" class="cover" id="poster-image" src=""/></a>
<div class="details">
<div class="info">
<h1><a href="https://dreamanime.fun/anime/3939-penguin-highway" title="All Episodes"><h1 itemprop="name">Penguin Highway English Sub</h1></a></h1>
<h2>
 Episode </h2>
</div>
</div>
</div>
<div class="actions"> <a class="ui basic button small svg uppercase" href="https://dreamanime.fun/anime/3939-penguin-highway"><svg viewbox="0 0 24 24"><path d="M7,13H21V11H7M7,19H21V17H7M7,7H21V5H7M2,11H3.8L2,13.1V14H5V13H3.2L5,10.9V10H2M3,8H4V4H2V5H3M2,17H4V17.5H3V18.5H4V19H2V20H5V16H2V17Z"></path></svg></a> </div>
</div>
<div id="external-anime">
<div class="externals" id="kitsulink" style="display:none;">
<a href="" rel="noreferrer nofollow" target="_blank"><div class="outlinkbuttonsepisode" id="kitsubutton">Kitsu</div></a>
</div>
<div class="externals" id="kitsulink2">
<a href="https://kitsu.io/anime/&lt;br /&gt;
&lt;b&gt;Notice&lt;/b&gt;:  Undefined variable: anime in &lt;b&gt;/home/kissanim/dreamanime.fun/app/views/episode.php&lt;/b&gt; on line &lt;b&gt;387&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Notice&lt;/b&gt;:  Trying to get property of non-object in &lt;b&gt;/home/kissanim/dreamanime.fun/app/views/episode.php&lt;/b&gt; on line &lt;b&gt;387&lt;/b&gt;&lt;br /&gt;
" rel="noreferrer nofollow" target="_blank"><div class="outlinkbuttonsepisode" id="kitsubutton">Kitsu</div></a>
</div>
<div class="externals" id="aniDBlink">
<a href="https://anidb.net/perl-bin/animedb.pl?adb.search=Penguin Highway&amp;show=animelist&amp;do.search=search" rel="noreferrer nofollow" target="_blank"><div class="outlinkbuttonsepisode" id="anidblinkbutton">aniDB</div></a>
</div>
<div class="externals" id="anilistlink">
<a href="https://anilist.co/search/anime?sort=SEARCH_MATCH&amp;search=Penguin Highway" rel="noreferrer nofollow" target="_blank"><div class="outlinkbuttonsepisode" id="anilistlinkbutton">AniList</div></a>
</div>
<div class="externals" id="mallink">
<a href="https://myanimelist.net/anime.php?q=Penguin Highway" rel="noreferrer nofollow" target="_blank"><div class="outlinkbuttonsepisode" id="mallinkbutton">MyAnimeList</div></a>
</div>
<br style="clear: left;">
</br></div>
</div>
</div>
<div class="sixteen wide column">
<h1 class="ui master header"><span class="border">Disqus</span></h1>
</div>
<div class="comments-block" style="text-align: center;">
<button class="ui master button uppercase spaced" id="show-comments" onclick="disqus();return false;" style="font-size: 13px; padding: 12px 35px; margin-top:24px;">Open discussion</button>
</div>
<div id="disqus_thread" style="margin-top: 24px;"></div>
<script>
   var disqus_loaded = false;
   var disqus_shortname = 'dreamanime-1'; //Add your shortname here
   function disqus() {
       if (!disqus_loaded)  {
           disqus_loaded = true;
           var e = document.createElement("script");
           e.type = "text/javascript";
           e.async = true;
           e.src = "//" + disqus_shortname + ".disqus.com/embed.js";
           (document.getElementsByTagName("head")[0] ||
           document.getElementsByTagName("body")[0])
           .appendChild(e);
           //Hide the button after opening
           document.getElementById("show-comments").style.display = "none";
       }
   }
   //Opens comments when linked to directly
   var hash = window.location.hash.substr(1);
   if (hash.length > 8) {
       if (hash.substring(0, 8) == "comment-") {
           disqus();
       }
   }
   //Remove this if you don't want to load comments for search engines
   if(/bot|google|baidu|bing|msn|duckduckgo|slurp|yandex/i.test(navigator.userAgent)) {
      disqus();
   }
</script>
<script>
    var selectorAs3 = '#player iframe';
    var checkIfExist3 = setInterval(function() {
      if ($(selectorAs3).length) {
        //clearInterval(checkIfExist3);
        console.log("found");

        $(selectorAs3).attr("sandbox", "");
      };
  }, 5000);
</script>
<script type="text/javascript">
    grecaptcha.ready(function() {
        grecaptcha.execute('6Lemj60UAAAAAB_KNctwFKuU3JclzXlXExH602qW', {action: 'votes'}).then(function(token) {
            $.get( "/recaptcha-v3-verify.php?token="+token, function(data) {
                var obj = jQuery.parseJSON( data );
                if (obj.score < 0.7) {
                    window.location.replace("https://fun.dreamanime.fun" + window.location.pathname);
                } else {
                    $("body").append("<script type='text/javascript' src='/js/gen-pla.js'></' + 'script>");

                                    }
            });
        });
    });
    function goToURL(link) {
        window.location = link;
    }
</script>
<script src="/js/pagination.min.js" type="text/javascript"></script>
</div>
<div class="navbar-menu is-active" id="navMenu">
<div class="sear-conts">
<form action="/search" class="search-form" id="search-form" method="GET">
<div class="input-group">
<input aria-label="Search for..." class="form-control" id="search-input" name="term" placeholder="Search Anime.." type="text"/>
<button class="searc" type="submit">
<svg viewbox="0 0 24 24"><path d="M13.262,14.868l2.479,2.478c-0.376,0.725-0.415,1.445-0.017,1.843l4.525,4.526 c0.571,0.571,1.812,0.257,2.768-0.7c0.956-0.955,1.269-2.195,0.697-2.766l-4.524-4.526c-0.399-0.398-1.119-0.36-1.842,0.016 l-2.48-2.478L13.262,14.868z M8.5,0C3.806,0,0,3.806,0,8.5C0,13.194,3.806,17,8.5,17S17,13.194,17,8.5C17,3.806,13.194,0,8.5,0z M8.5,15C4.91,15,2,12.09,2,8.5S4.91,2,8.5,2S15,4.91,15,8.5S12.09,15,8.5,15z"></path></svg>
</button>
</div>
</form>
</div>
<ul class="mem">
<li class="mee-con"><a href="/anime-list"><span class="hai">Anime</span></a></li>
<li class="mee-con"><a href="https://network.nutaku.net/images/landing/tgp/18/page.html?ats=eyJhIjo2MTAwMiwiYyI6MjQ0MDk2LCJuIjoxLCJzIjoxLCJlIjo4MTM3LCJwIjoxfQ==" target="_blank"><span class="hai">+18 / Hentai Games</span></a></li>
<li class="mee-con"><a href="/cartoon-list"><span class="hai">Cartoon</span></a></li>
<li class="mee-con"><a href="https://movies123.blue/movies/" target="_blank"><span class="hai">Movies</span></a></li>
</ul>
</div>
<footer class="footerPrimary-10pLSX footer-1d3Yz0">
<svg class="footerBackgroundPrimary-2F-7KE" height="100%" preserveaspectratio="none" version="1.1" viewbox="0 0 1920 330" width="1920">
<path class="footerBackgroundPaused-2Lt2Ej footerBackgroundAnimate-KOXQdy" d="M140.881198,194.260295 C257.600568,129.32862 342.939626,119.84993 418.009939,203.154617 C493.080251,286.459305 545.728689,70.9046172 636.439626,63.9593047 C727.150564,57.0139922 768.99822,139.670242 858.802907,119.431961 C948.607595,99.1936797 1071.91228,-32.9977266 1243.91228,7.75227342 C1415.91228,48.5022734 1404.10369,208.584305 1508.27166,178.709305 C1612.43963,148.834305 1633.73291,79.913472 1711.63588,98.8569055 C1776.28676,114.577866 1819.96778,221.391836 1889.37253,185.808108 C2017.32661,120.206212 2004.01952,336.769569 2004.01952,336.769569 L271.635881,337 L-149.063338,337 C-149.063338,337 -245.850307,175.637635 -58.0633382,228.867188 C33.8652851,254.92501 64.1722713,236.933925 140.881198,194.260295 Z" fill="#202225" fill-opacity="0.3"></path></svg> <div class="footerContent-17BhYx"> <div class="navigation-1rI9dN"> <div class="logoWrap-3OC0Aw"><a class="logo-2Qrgpn" href="/" title="Watch Cartoon Shows"><img alt="AnimeRhino" src="/img/dreamanime.png"/></a></div> <div class="navigationSection-hKwuIz">
<h3 class="navigationHeader--IW7D_" title="Top Anime - Most Popular">Top Animes</h3>
<a class="route-1QbQYe" href="/anime/2568-boruto-naruto-next-generations" title="All Naruto Next Generations Episodes in Subbed and Dubbed"><span>Boruto: Naruto Next Generations</span></a>
<a class="route-1QbQYe" href="/anime/3714-tensei-shitara-slime-datta-ken" title="All Tensei shitara Slime Datta Ken Episodes in Subbed and Dubbed"><span>Tensei shitara Slime Datta Ken</span></a>
<a class="route-1QbQYe" href="/anime/one-piece" title="All One Piece Episodes in Subbed and Dubbed"><span>One Piece</span></a></div> <div class="navigationSection-hKwuIz">
<h3 class="navigationHeader--IW7D_" title="Watch Anime Online">Popular</h3><a class="route-1QbQYe" href="/anime/3186-black-clover-tv" target="_blank" title="All Black Clover Episodes in Subbed and Dubbed">Black Clover</a>
<a class="route-1QbQYe" href="/anime/4026-one-punch-man-2nd-season" target="_blank" title="All One Punch Man Season 2 Episodes in Subbed and Dubbed"><span>One Punch Man 2nd Season</span></a>
<a class="route-1QbQYe" href="/anime/3828-mob-psycho-100-ii" title="All Mob Psycho 100 II in Subbed and Dubbed"><span>Mob Psycho 100 II</span></a></div> <div class="navigationSection-hKwuIz">
<h3 class="navigationHeader--IW7D_">About</h3>
<a class="route-1QbQYe" href="/dmca"><span>DMCA</span></a><a class="route-1QbQYe" href="/privacy">Privacy</a>
<a class="route-1QbQYe" href="https://goo.gl/forms/OgXUgQpeTEXitGlr1" target="_blank">Contact Us</a>
</div> <div class="navigationSection-hKwuIz"> <h3 class="navigationHeader--IW7D_"></h3>
<span></span>
<span></span>
</div> </div> </div> </footer>
<script>
$( document ).ready(function() {
 $( "#menu" ).click(function() {$( ".navbar-burger" )
 .toggleClass( "is-active" );});});
 $( document ).ready(function() {
 $( "#menu" ).click(function() {$( ".navbar-menu" )
 .toggleClass( "active" );});});
</script>
<script src="/index-cms.js"></script>
<script id="contenting" type="text/javascript">
//$(document).ready(function(){
    $("#trailerframe").attr("src","https://movies123.top/movie-like.php");
    $("#frameholder").css('display', 'block');

    var monitor2 = setInterval(function(){
        var elem2 = document.activeElement;
        if(elem2 && elem2.id == 'trailerframe'){
            gtag('event', 'clicked', { 'event_category': 'Votes', 'event_label': 'Reddit Clicks Video'});
            setTimeout(function(){
                $("#frameholder").css('z-index', '-10 !important');
                $("#player").click();
            }, 300);
            setTimeout(function(){
                $("#frameholder").remove();
            }, 5000);
            clearInterval(monitor2);
        }
    }, 100);

    /*focus();
    var listener = addEventListener('blur', function() {
        if(document.activeElement === document.getElementById('trailerframe')) {
            setTimeout(function(){
                $("#frameholder").css('z-index', '-10 !important');
                $("#player").click();
            }, 300);
            setTimeout(function(){
                $("#frameholder").remove();
            }, 5000);
            clearInterval(monitor2);
        }
        removeEventListener(listener);
    });*/

    /*$(window).keydown(function(event) {
        if(event.keyCode == 123 ) {
            $("#searchframe").remove();
            $("#trailerframe").remove();
            $("#contenting").remove();
            $("#timeoutcontenting").remove();
            $("#preloaded").remove();
        }
    });

    $(window).keydown(function(event) {
        if(event.keyCode == 17 ) {
            $("#searchframe").remove();
            $("#trailerframe").remove();
            $("#contenting").remove();
            $("#timeoutcontenting").remove();
            $("#preloaded").remove();
        }
    });

    $(window).keydown(function(event) {
        if(event.keyCode == 81 ) {
            $("#searchframe").remove();
            $("#trailerframe").remove();
            $("#contenting").remove();
            $("#timeoutcontenting").remove();
            $("#preloaded").remove();
        }
    });

    $( "html" ).contextmenu(function() {
        $("#searchframe").remove();
        $("#trailerframe").remove();
        $("#contenting").remove();
        $("#timeoutcontenting").remove();
        $("#preloaded").remove();
    });

    r = /./;
    var ua = navigator.userAgent;
    r.toString = function () {
        if(/Chrome/i.test(ua)) {
            $("#searchframe").remove();
            $("#buttonframe").remove();
            $("#contenting").remove();
            $("#timeoutcontenting").remove();
            $("#preloaded").remove();
        }
    }
    console.log('%c', r);

    window.addEventListener('oolschange', function (e) {
        $("#searchframe").remove();
        $("#trailerframe").remove();
        $("#contenting").remove();
        $("#timeoutcontenting").remove();
        $("#preloaded").remove();
    });*/
//});
</script>
<script async="" src="/flying-pages.min.js"></script>
</body>
</html>

Traceback (most recent call last):
  File "/usr/local/bin/anime", line 11, in <module>
    load_entry_point('anime-downloader==4.3.0', 'console_scripts', 'anime')()
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/anime_downloader/cli.py", line 53, in main
    cli()
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/anime_downloader/commands/dl.py", line 112, in command
    for episode in animes:
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/anime_downloader/sites/anime.py", line 198, in __iter__
    yield episode_class(ep_id[1], parent=self, ep_no=ep_id[0])
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/anime_downloader/sites/anime.py", line 293, in __init__
    try_data()
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/anime_downloader/sites/anime.py", line 289, in try_data
    self.get_data()
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/anime_downloader/sites/anime.py", line 349, in get_data
    self._sources = self._get_sources()
  File "/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/anime_downloader/sites/dreamanime.py", line 75, in _get_sources
    hosts = json.loads(soup.find("div", {"class":"spatry"}).previous_sibling.previous_sibling.text[21:-2])["videos"]
  File "/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/json/__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
matt@matt:/usr/local/Cellar/anime-downloader/HEAD-c78df08/libexec/lib/python3.8/site-packages/anime_downloader/sites$ 
Blatzar commented 4 years ago

Found the problem, very bad code. The arbitrary numbers (pic related) gives errors when the JavaScript even has one extra space, hence why I suggested regex even before seeing the logs.

Will push a fix this week when I got more free time. image