diff options
-rw-r--r-- | youtube_dl/extractor/__init__.py | 1 | ||||
-rw-r--r-- | youtube_dl/extractor/primesharetv.py | 46 |
2 files changed, 47 insertions, 0 deletions
diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 5316af2d1..b02812365 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -381,6 +381,7 @@ from .pornhub import ( ) from .pornotube import PornotubeIE from .pornoxo import PornoXOIE +from .primesharetv import PrimesharetvIE from .promptfile import PromptFileIE from .prosiebensat1 import ProSiebenSat1IE from .puls4 import Puls4IE diff --git a/youtube_dl/extractor/primesharetv.py b/youtube_dl/extractor/primesharetv.py new file mode 100644 index 000000000..967125abc --- /dev/null +++ b/youtube_dl/extractor/primesharetv.py @@ -0,0 +1,46 @@ +# encoding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor +from ..utils import ( + int_or_none, + parse_filesize, + unified_strdate, + urlencode_postdata, +) +from ..compat import ( + compat_urllib_request, +) + +class PrimesharetvIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?primeshare\.tv/download/(?P<id>.*)(?:.*)' + + def _real_extract(self, url): + video_id = self._match_id(url) + webpage = self._download_webpage(url, video_id) + + self._sleep(9, video_id) + + hashtoken = self._search_regex(r' name="hash" value="(.*?)" ', webpage, 'hash token') + data = urlencode_postdata({ + 'hash': hashtoken, + }) + headers = { + 'Referer': url, + 'Content-Type': 'application/x-www-form-urlencoded', + } + video_page_request = compat_urllib_request.Request(url, data, headers=headers) + video_page = self._download_webpage(video_page_request, None, False, '') + + video_url = self._html_search_regex( + r'url: \'(http://l\.primeshare\.tv[^\']+)\',', video_page, 'video url') + + title = self._html_search_regex( + r'<h1>Watch [^\(]+\(([^/)]+)\) ', video_page, 'title') + + return { + 'id': video_id, + 'url': video_url, + 'title': title, + 'ext': 'mp4', + } |