]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/sunporno.py
263f09b4645fa8b6255f1216e99cab27afce2bee
1 from __future__
import unicode_literals
5 from .common
import InfoExtractor
14 class SunPornoIE(InfoExtractor
):
15 _VALID_URL
= r
'https?://(?:www\.)?sunporno\.com/videos/(?P<id>\d+)'
17 'url': 'http://www.sunporno.com/videos/807778/',
18 'md5': '6457d3c165fd6de062b99ef6c2ff4c86',
22 'title': 'md5:0a400058e8105d39e35c35e7c5184164',
23 'description': 'md5:a31241990e1bd3a64e72ae99afb325fb',
24 'thumbnail': 're:^https?://.*\.jpg$',
30 def _real_extract(self
, url
):
31 mobj
= re
.match(self
._VALID
_URL
, url
)
32 video_id
= mobj
.group('id')
34 webpage
= self
._download
_webpage
(url
, video_id
)
36 title
= self
._html
_search
_regex
(r
'<title>([^<]+)</title>', webpage
, 'title')
37 description
= self
._html
_search
_meta
('description', webpage
, 'description')
38 thumbnail
= self
._html
_search
_regex
(
39 r
'poster="([^"]+)"', webpage
, 'thumbnail', fatal
=False)
41 duration
= parse_duration(self
._search
_regex
(
42 r
'Duration:\s*(\d+:\d+)\s*<', webpage
, 'duration', fatal
=False))
44 view_count
= int_or_none(self
._html
_search
_regex
(
45 r
'class="views">\s*(\d+)\s*<', webpage
, 'view count', fatal
=False))
46 comment_count
= int_or_none(self
._html
_search
_regex
(
47 r
'(\d+)</b> Comments?', webpage
, 'comment count', fatal
=False))
50 quality
= qualities(['mp4', 'flv'])
51 for video_url
in re
.findall(r
'<source src="([^"]+)"', webpage
):
52 video_ext
= determine_ext(video_url
)
55 'format_id': video_ext
,
56 'quality': quality(video_ext
),
58 self
._sort
_formats
(formats
)
63 'description': description
,
64 'thumbnail': thumbnail
,
66 'view_count': view_count
,
67 'comment_count': comment_count
,