youtube-dl/youtube_dl/extractor/slutload.py

49 lines
1.5 KiB
Python
Raw Normal View History

2014-05-13 01:04:29 -07:00
from __future__ import unicode_literals
2017-12-30 10:41:07 -08:00
import re
2014-05-12 01:28:56 -07:00
from .common import InfoExtractor
2014-05-13 01:04:29 -07:00
2014-05-12 01:28:56 -07:00
class SlutloadIE(InfoExtractor):
2014-05-13 01:04:29 -07:00
_VALID_URL = r'^https?://(?:\w+\.)?slutload\.com/video/[^/]+/(?P<id>[^/]+)/?$'
2017-12-30 10:41:07 -08:00
_TESTS = [{
2014-05-13 01:04:29 -07:00
'url': 'http://www.slutload.com/video/virginie-baisee-en-cam/TD73btpBqSxc/',
2016-10-01 04:57:18 -07:00
'md5': '868309628ba00fd488cf516a113fd717',
2014-05-13 01:04:29 -07:00
'info_dict': {
'id': 'TD73btpBqSxc',
'ext': 'mp4',
2016-02-14 01:37:17 -08:00
'title': 'virginie baisee en cam',
'age_limit': 18,
'thumbnail': r're:https?://.*?\.jpg'
2014-05-12 01:28:56 -07:00
}
2017-12-30 10:41:07 -08:00
}, {
# mobile site
'url': 'http://mobile.slutload.com/video/masturbation-solo/fviFLmc6kzJ/',
'only_matching': True,
}]
2014-05-12 01:28:56 -07:00
def _real_extract(self, url):
2016-10-01 04:57:18 -07:00
video_id = self._match_id(url)
2017-12-30 10:41:07 -08:00
desktop_url = re.sub(r'^(https?://)mobile\.', r'\1', url)
webpage = self._download_webpage(desktop_url, video_id)
2014-05-12 01:28:56 -07:00
video_title = self._html_search_regex(r'<h1><strong>([^<]+)</strong>',
2014-11-23 12:39:15 -08:00
webpage, 'title').strip()
2014-05-13 01:04:29 -07:00
video_url = self._html_search_regex(
r'(?s)<div id="vidPlayer"\s+data-url="([^"]+)"',
webpage, 'video URL')
thumbnail = self._html_search_regex(
r'(?s)<div id="vidPlayer"\s+.*?previewer-file="([^"]+)"',
webpage, 'thumbnail', fatal=False)
return {
'id': video_id,
'url': video_url,
'title': video_title,
'thumbnail': thumbnail,
'age_limit': 18
}