diff options
Diffstat (limited to 'youtube_dl/extractor/daum.py')
| -rw-r--r-- | youtube_dl/extractor/daum.py | 20 | 
1 files changed, 7 insertions, 13 deletions
diff --git a/youtube_dl/extractor/daum.py b/youtube_dl/extractor/daum.py index a804e83bd..4876ecb48 100644 --- a/youtube_dl/extractor/daum.py +++ b/youtube_dl/extractor/daum.py @@ -1,6 +1,5 @@  # encoding: utf-8  import re -import xml.etree.ElementTree  from .common import InfoExtractor  from ..utils import ( @@ -10,7 +9,7 @@ from ..utils import (  class DaumIE(InfoExtractor): -    _VALID_URL = r'https?://tvpot\.daum\.net/.*?clipid=(?P<id>\d+)' +    _VALID_URL = r'https?://(?:m\.)?tvpot\.daum\.net/.*?clipid=(?P<id>\d+)'      IE_NAME = u'daum.net'      _TEST = { @@ -29,17 +28,16 @@ class DaumIE(InfoExtractor):          video_id = mobj.group(1)          canonical_url = 'http://tvpot.daum.net/v/%s' % video_id          webpage = self._download_webpage(canonical_url, video_id) -        full_id = self._search_regex(r'<link rel="video_src" href=".+?vid=(.+?)"', +        full_id = self._search_regex( +            r'<iframe src="http://videofarm.daum.net/controller/video/viewer/Video.html\?.*?vid=(.+?)[&"]',              webpage, u'full id')          query = compat_urllib_parse.urlencode({'vid': full_id}) -        info_xml = self._download_webpage( +        info = self._download_xml(              'http://tvpot.daum.net/clip/ClipInfoXml.do?' + query, video_id,              u'Downloading video info') -        urls_xml = self._download_webpage( +        urls = self._download_xml(              'http://videofarm.daum.net/controller/api/open/v1_2/MovieData.apixml?' + query,              video_id, u'Downloading video formats info') -        info = xml.etree.ElementTree.fromstring(info_xml.encode('utf-8')) -        urls = xml.etree.ElementTree.fromstring(urls_xml.encode('utf-8'))          self.to_screen(u'%s: Getting video urls' % video_id)          formats = [] @@ -49,10 +47,9 @@ class DaumIE(InfoExtractor):                  'vid': full_id,                  'profile': profile,              }) -            url_xml = self._download_webpage( +            url_doc = self._download_xml(                  'http://videofarm.daum.net/controller/api/open/v1_2/MovieLocation.apixml?' + format_query,                  video_id, note=False) -            url_doc = xml.etree.ElementTree.fromstring(url_xml.encode('utf-8'))              format_url = url_doc.find('result/url').text              formats.append({                  'url': format_url, @@ -60,7 +57,7 @@ class DaumIE(InfoExtractor):                  'format_id': profile,              }) -        info = { +        return {              'id': video_id,              'title': info.find('TITLE').text,              'formats': formats, @@ -69,6 +66,3 @@ class DaumIE(InfoExtractor):              'duration': int(info.find('DURATION').text),              'upload_date': info.find('REGDTTM').text[:8],          } -        # TODO: Remove when #980 has been merged -        info.update(formats[-1]) -        return info  | 
