]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/jukebox.py
1 from __future__
import unicode_literals
5 from .common
import InfoExtractor
13 class JukeboxIE(InfoExtractor
):
14 _VALID_URL
= r
'^http://www\.jukebox?\..+?\/.+[,](?P<id>[a-z0-9\-]+)\.html'
16 'url': 'http://www.jukebox.es/kosheen/videoclip,pride,r303r.html',
20 'title': 'Kosheen-En Vivo Pride',
21 'uploader': 'Kosheen',
25 def _real_extract(self
, url
):
26 video_id
= self
._match
_id
(url
)
28 html
= self
._download
_webpage
(url
, video_id
)
29 iframe_url
= unescapeHTML(self
._search
_regex
(r
'<iframe .*src="([^"]*)"', html
, 'iframe url'))
31 iframe_html
= self
._download
_webpage
(iframe_url
, video_id
, 'Downloading iframe')
32 if re
.search(r
'class="jkb_waiting"', iframe_html
) is not None:
33 raise ExtractorError('Video is not available(in your country?)!')
35 self
.report_extraction(video_id
)
38 video_url
= self
._search
_regex
(r
'"config":{"file":"(?P<video_url>http:[^"]+\?mdtk=[0-9]+)"',
39 iframe_html
, 'video url')
40 video_url
= unescapeHTML(video_url
).replace('\/', '/')
41 except RegexNotFoundError
:
42 youtube_url
= self
._search
_regex
(
43 r
'config":{"file":"(http:\\/\\/www\.youtube\.com\\/watch\?v=[^"]+)"',
44 iframe_html
, 'youtube url')
45 youtube_url
= unescapeHTML(youtube_url
).replace('\/', '/')
46 self
.to_screen('Youtube video detected')
47 return self
.url_result(youtube_url
, ie
='Youtube')
49 title
= self
._html
_search
_regex
(r
'<h1 class="inline">([^<]+)</h1>',
51 artist
= self
._html
_search
_regex
(r
'<span id="infos_article_artist">([^<]+)</span>',
57 'title': artist
+ '-' + title
,