1
0
mirror of https://github.com/l1ving/youtube-dl synced 2020-11-18 19:53:54 -08:00

[cumlouder] Add new extractor

This commit is contained in:
JChris246 2019-01-29 15:57:32 -04:00
parent 1063b4c707
commit 9ba923dfec
2 changed files with 65 additions and 0 deletions

View File

@ -0,0 +1,64 @@
from __future__ import unicode_literals
from .common import InfoExtractor
from ..utils import (
parse_duration,
str_to_int,
)
import re
class CumlouderIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?cumlouder\.com/porn-video/(?P<id>[^/]+)/?'
_TEST = {
'url': 'https://www.cumlouder.com/porn-video/jasmine-black-s-100-natural-tits/',
'md5': 'cd893aaaace8c4ce7b33fc341c2f5fcf',
'info_dict': {
'id': 'jasmine-black-s-100-natural-tits',
'ext': 'mp4',
'title': 'Jasmine Black&#039;s 100% Natural Tits',
'thumbnail': r're:^https?://.*\.jpg$',
'age_limit': 18,
'description': 'Cumlouder recommends Jasmine Black because, if you want to take care of yourself, '
'there&#039;s nothing better than a nice pair of 100-percent natural titties. Nick Moreno '
'is ready to enjoy the completely-free-of-artificial-additives boobs of Romanian star '
'Jasmine Black.',
'duration': 607
}
}
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
title = self._search_regex(r'<h1><span[^>]+></span>(.+)</h1>', webpage, 'title').strip()
thumbnail = self._search_regex(r'<video[^>]+poster=\'(https?://.+\.jpg)', webpage, 'thumbnail')
video_url = "https:" + self._search_regex(r'<source[^>]+src=["\'](//[^("\')]+)', webpage, 'video_url')\
.replace("&amp;", "&")
description = self._search_regex(r'<strong>Description:</strong>([^<]+)', webpage, 'description').strip()
view_count = str_to_int(self._search_regex(r'Views:\s+([\d]+)', webpage, 'view_count', default=None))
tags = []
for mobj in re.finditer(r'<a[^>]+class=(["\'])tag-link\1[^>]*title=\1(?P<tag>[^\'"]+)\1', webpage):
tags.append(mobj.group('tag'))
duration = parse_duration(self._search_regex(
r'<span[^>]+class=["\'][^>]*ico-duracion[^>]+></span>\s*([0-9:]+)', webpage, 'duration',
default=None))
return {
'id': video_id,
'url': video_url,
'title': title,
'thumbnail': thumbnail,
'age_limit': 18,
'description': description,
'view_count': view_count,
'tags': tags,
'duration': duration
}

View File

@ -246,6 +246,7 @@ from .cspan import CSpanIE
from .ctsnews import CtsNewsIE
from .ctvnews import CTVNewsIE
from .cultureunplugged import CultureUnpluggedIE
from .cumlouder import CumlouderIE
from .curiositystream import (
CuriosityStreamIE,
CuriosityStreamCollectionIE,