]> jfr.im git - yt-dlp.git/blame - youtube_dl/extractor/pornhd.py
[youtube] Download DASH manifest
[yt-dlp.git] / youtube_dl / extractor / pornhd.py
CommitLineData
8e05c870
MO
1import re
2
3from .common import InfoExtractor
4from ..utils import compat_urllib_parse
5
6f5dcd4e 6
8e05c870 7class PornHdIE(InfoExtractor):
448711e3 8 _VALID_URL = r'(?:http://)?(?:www\.)?pornhd\.com/(?:[a-z]{2,4}/)?videos/(?P<video_id>[0-9]+)/(?P<video_title>.+)'
8e05c870 9 _TEST = {
8e05c870 10 u'url': u'http://www.pornhd.com/videos/1962/sierra-day-gets-his-cum-all-over-herself-hd-porn-video',
6f5dcd4e
PH
11 u'file': u'1962.flv',
12 u'md5': u'35272469887dca97abd30abecc6cdf75',
8e05c870
MO
13 u'info_dict': {
14 u"title": u"sierra-day-gets-his-cum-all-over-herself-hd-porn-video",
15 u"age_limit": 18,
16 }
17 }
18
19 def _real_extract(self, url):
20 mobj = re.match(self._VALID_URL, url)
21
22 video_id = mobj.group('video_id')
23 video_title = mobj.group('video_title')
8e05c870
MO
24
25 webpage = self._download_webpage(url, video_id)
26
8e05c870
MO
27 video_url = self._html_search_regex(
28 r'&hd=(http.+?)&', webpage, u'video URL')
29 video_url = compat_urllib_parse.unquote(video_url)
8e05c870
MO
30 age_limit = 18
31
32 return {
6f5dcd4e
PH
33 'id': video_id,
34 'url': video_url,
35 'ext': 'flv',
36 'title': video_title,
8e05c870
MO
37 'age_limit': age_limit,
38 }