aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-08-26 20:47:57 +0600
committerSergey M․ <dstftw@gmail.com>2015-08-26 20:47:57 +0600
commit2f72e83bbd915054cac0e8f70df0c2cab4b9c116 (patch)
tree09e0cf74f8206cc54d6ae761fbfbd355efef0096
parent57179b4ca1c40412b891b69baf0f1202a1d4c9a4 (diff)
downloadyoutube-dl-2f72e83bbd915054cac0e8f70df0c2cab4b9c116.tar.xz
[crunchyroll] Detect required login (#6677)
-rw-r--r--youtube_dl/extractor/crunchyroll.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/youtube_dl/extractor/crunchyroll.py b/youtube_dl/extractor/crunchyroll.py
index 33a033a7f..98d1881ae 100644
--- a/youtube_dl/extractor/crunchyroll.py
+++ b/youtube_dl/extractor/crunchyroll.py
@@ -237,7 +237,9 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
webpage_url = 'http://www.' + mobj.group('url')
webpage = self._download_webpage(webpage_url, video_id, 'Downloading webpage')
- note_m = self._html_search_regex(r'<div class="showmedia-trailer-notice">(.+?)</div>', webpage, 'trailer-notice', default='')
+ note_m = self._html_search_regex(
+ r'<div class="showmedia-trailer-notice">(.+?)</div>',
+ webpage, 'trailer-notice', default='')
if note_m:
raise ExtractorError(note_m)
@@ -247,6 +249,12 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
if msg.get('type') == 'error':
raise ExtractorError('crunchyroll returned error: %s' % msg['message_body'], expected=True)
+ if 'To view this, please log in to verify you are 18 or older.' in webpage:
+ raise ExtractorError(
+ 'This video is only available for registered users, '
+ 'use --username and --password options to provide account credentials.',
+ expected=True)
+
video_title = self._html_search_regex(r'<h1[^>]*>(.+?)</h1>', webpage, 'video_title', flags=re.DOTALL)
video_title = re.sub(r' {2,}', ' ', video_title)
video_description = self._html_search_regex(r'"description":"([^"]+)', webpage, 'video_description', default='')