YouJizzIE: support videos that define the urls in a playlist page (closes #1037)

This commit is contained in:
Jaime Marquínez Ferrándiz 2013-07-13 12:07:07 +02:00
parent d8269e1dfb
commit 2e78b2bead

View File

@ -40,6 +40,18 @@ def _real_extract(self, url):
webpage = self._download_webpage(embed_page_url, video_id) webpage = self._download_webpage(embed_page_url, video_id)
# Get the video URL # Get the video URL
m_playlist = re.search(r'so.addVariable\("playlist", ?"(?P<playlist>.+?)"\);', webpage)
if m_playlist is not None:
playlist_url = m_playlist.group('playlist')
playlist_page = self._download_webpage(playlist_url, video_id,
u'Downloading playlist page')
m_levels = list(re.finditer(r'<level bitrate="(\d+?)" file="(.*?)"', playlist_page))
if len(m_levels) == 0:
raise ExtractorError(u'Unable to extract video url')
videos = [(int(m.group(1)), m.group(2)) for m in m_levels]
(_, video_url) = sorted(videos)[0]
video_url = video_url.replace('%252F', '%2F')
else:
video_url = self._search_regex(r'so.addVariable\("file",encodeURIComponent\("(?P<source>[^"]+)"\)\);', video_url = self._search_regex(r'so.addVariable\("file",encodeURIComponent\("(?P<source>[^"]+)"\)\);',
webpage, u'video URL') webpage, u'video URL')