]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/musicplayon.py
1854d59a5307a5b22f2efdda08a2b6c944aa8c50
2 from __future__
import unicode_literals
4 from .common
import InfoExtractor
5 from ..compat
import compat_urlparse
13 class MusicPlayOnIE(InfoExtractor
):
14 _VALID_URL
= r
'https?://(?:.+?\.)?musicplayon\.com/play(?:-touch)?\?(?:v|pl=\d+&play)=(?P<id>\d+)'
17 'url': 'http://en.musicplayon.com/play?v=433377',
18 'md5': '00cdcdea1726abdf500d1e7fd6dd59bb',
22 'title': 'Rick Ross - Interview On Chelsea Lately (2014)',
23 'description': 'Rick Ross Interview On Chelsea Lately',
25 'uploader': 'ultrafish',
28 'url': 'http://en.musicplayon.com/play?pl=102&play=442629',
29 'only_matching': True,
32 _URL_TEMPLATE
= 'http://en.musicplayon.com/play?v=%s'
34 def _real_extract(self
, url
):
35 video_id
= self
._match
_id
(url
)
36 url
= self
._URL
_TEMPLATE
% video_id
38 page
= self
._download
_webpage
(url
, video_id
)
40 title
= self
._og
_search
_title
(page
)
41 description
= self
._og
_search
_description
(page
)
42 thumbnail
= self
._og
_search
_thumbnail
(page
)
43 duration
= self
._html
_search
_meta
('video:duration', page
, 'duration', fatal
=False)
44 view_count
= self
._og
_search
_property
('count', page
, fatal
=False)
45 uploader
= self
._html
_search
_regex
(
46 r
'<div>by <a href="[^"]+" class="purple">([^<]+)</a></div>', page
, 'uploader', fatal
=False)
48 sources
= self
._parse
_json
(
49 self
._search
_regex
(r
'setup\[\'_sources
\'\
]\s
*=\s
*([^
;]+);', page, 'video sources
'),
50 video_id, transform_source=js_to_json)
52 'url
': compat_urlparse.urljoin(url, source['src
']),
53 'ext
': mimetype2ext(source.get('type')),
54 'format_note
': source.get('data
-res
'),
55 } for source in sources]
60 'description
': description,
61 'thumbnail
': thumbnail,
63 'duration
': int_or_none(duration),
64 'view_count
': int_or_none(view_count),