X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fnaver.py;h=c10405f04d3cc1b3e89004029b7502112e9baa29;hb=1cc79574fc5df21bf35dccf61eac0e9e75ed8d20;hp=c0231c197b12b86c669e9cff4b34a5c2ac1639bf;hpb=24f5251cce172f0e403b4178819dd26b3873f021;p=youtube-dl diff --git a/youtube_dl/extractor/naver.py b/youtube_dl/extractor/naver.py index c0231c197..c10405f04 100644 --- a/youtube_dl/extractor/naver.py +++ b/youtube_dl/extractor/naver.py @@ -4,9 +4,12 @@ from __future__ import unicode_literals import re from .common import InfoExtractor -from ..utils import ( +from ..compat import ( compat_urllib_parse, +) +from ..utils import ( ExtractorError, + clean_html, ) @@ -25,16 +28,21 @@ class NaverIE(InfoExtractor): } def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group(1) + video_id = self._match_id(url) webpage = self._download_webpage(url, video_id) + m_id = re.search(r'var rmcPlayer = new nhn.rmcnmv.RMCVideoPlayer\("(.+?)", "(.+?)"', - webpage) + webpage) if m_id is None: + m_error = re.search( + r'(?s)
\s*(?:)?\s*

(?P.+?)

\s*
', + webpage) + if m_error: + raise ExtractorError(clean_html(m_error.group('msg')), expected=True) raise ExtractorError('couldn\'t extract vid and key') vid = m_id.group(1) key = m_id.group(2) - query = compat_urllib_parse.urlencode({'vid': vid, 'inKey': key,}) + query = compat_urllib_parse.urlencode({'vid': vid, 'inKey': key, }) query_urls = compat_urllib_parse.urlencode({ 'masterVid': vid, 'protocol': 'p2p', @@ -59,7 +67,7 @@ class NaverIE(InfoExtractor): if domain.startswith('rtmp'): f.update({ 'ext': 'flv', - 'rtmp_protocol': '1', # rtmpt + 'rtmp_protocol': '1', # rtmpt }) formats.append(f) self._sort_formats(formats)