]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/nuvid.py
449c8a6a3e86c410daaafbf80878161693242e27
1 from __future__
import unicode_literals
5 from .common
import InfoExtractor
13 class NuvidIE(InfoExtractor
):
14 _VALID_URL
= r
'^https?://(?:www|m)\.nuvid\.com/video/(?P<id>[0-9]+)'
16 'url': 'http://m.nuvid.com/video/1310741/',
17 'md5': 'eab207b7ac4fccfb4e23c86201f11277',
21 'title': 'Horny babes show their awesome bodeis and',
23 'upload_date': '20140508',
28 def _real_extract(self
, url
):
29 mobj
= re
.match(self
._VALID
_URL
, url
)
30 video_id
= mobj
.group('id')
34 for dwnld_speed
, format_id
in [(0, '3gp'), (5, 'mp4')]:
35 request
= compat_urllib_request
.Request(
36 'http://m.nuvid.com/play/%s' % video_id
)
37 request
.add_header('Cookie', 'skip_download_page=1; dwnld_speed=%d; adv_show=1' % dwnld_speed
)
38 webpage
= self
._download
_webpage
(
39 request
, video_id
, 'Downloading %s page' % format_id
)
40 video_url
= self
._html
_search
_regex
(
41 r
'<a\s+href="([^"]+)"\s+class="b_link">', webpage
, '%s video URL' % format_id
, fatal
=False)
46 'format_id': format_id
,
49 webpage
= self
._download
_webpage
(
50 'http://m.nuvid.com/video/%s' % video_id
, video_id
, 'Downloading video page')
51 title
= self
._html
_search
_regex
(
52 [r
'<span title="([^"]+)">',
53 r
'<div class="thumb-holder video">\s*<h5[^>]*>([^<]+)</h5>'], webpage
, 'title').strip()
57 } for thumb_url
in re
.findall(r
'<img src="([^"]+)" alt="" />', webpage
)
59 thumbnail
= thumbnails
[0]['url'] if thumbnails
else None
60 duration
= parse_duration(self
._html
_search
_regex
(
61 r
'<i class="fa fa-clock-o"></i>\s*(\d{2}:\d{2})', webpage
, 'duration', fatal
=False))
62 upload_date
= unified_strdate(self
._html
_search
_regex
(
63 r
'<i class="fa fa-user"></i>\s*(\d{4}-\d{2}-\d{2})', webpage
, 'upload date', fatal
=False))
68 'thumbnails': thumbnails
,
69 'thumbnail': thumbnail
,
71 'upload_date': upload_date
,