[generic] Add support for VHX Embeds(#27546)
This commit is contained in:
parent
365b3cc72d
commit
0fa67c1d68
|
@ -67,7 +67,10 @@ from .tube8 import Tube8IE
|
||||||
from .mofosex import MofosexEmbedIE
|
from .mofosex import MofosexEmbedIE
|
||||||
from .spankwire import SpankwireIE
|
from .spankwire import SpankwireIE
|
||||||
from .youporn import YouPornIE
|
from .youporn import YouPornIE
|
||||||
from .vimeo import VimeoIE
|
from .vimeo import (
|
||||||
|
VimeoIE,
|
||||||
|
VHXEmbedIE,
|
||||||
|
)
|
||||||
from .dailymotion import DailymotionIE
|
from .dailymotion import DailymotionIE
|
||||||
from .dailymail import DailyMailIE
|
from .dailymail import DailyMailIE
|
||||||
from .onionstudios import OnionStudiosIE
|
from .onionstudios import OnionStudiosIE
|
||||||
|
@ -2193,7 +2196,18 @@ class GenericIE(InfoExtractor):
|
||||||
# 'params': {
|
# 'params': {
|
||||||
# 'force_generic_extractor': True,
|
# 'force_generic_extractor': True,
|
||||||
# },
|
# },
|
||||||
# }
|
# },
|
||||||
|
{
|
||||||
|
# VHX Embed
|
||||||
|
'url': 'https://demo.vhx.tv/category-c/videos/file-example-mp4-480-1-5mg-copy',
|
||||||
|
'info_dict': {
|
||||||
|
'id': '858208',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': 'Untitled',
|
||||||
|
'uploader_id': 'user80538407',
|
||||||
|
'uploader': 'OTT Videos',
|
||||||
|
},
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
def report_following_redirect(self, new_url):
|
def report_following_redirect(self, new_url):
|
||||||
|
@ -2571,6 +2585,10 @@ class GenericIE(InfoExtractor):
|
||||||
if vimeo_urls:
|
if vimeo_urls:
|
||||||
return self.playlist_from_matches(vimeo_urls, video_id, video_title, ie=VimeoIE.ie_key())
|
return self.playlist_from_matches(vimeo_urls, video_id, video_title, ie=VimeoIE.ie_key())
|
||||||
|
|
||||||
|
vhx_url = VHXEmbedIE._extract_url(webpage)
|
||||||
|
if vhx_url:
|
||||||
|
return self.url_result(vhx_url, VHXEmbedIE.ie_key())
|
||||||
|
|
||||||
vid_me_embed_url = self._search_regex(
|
vid_me_embed_url = self._search_regex(
|
||||||
r'src=[\'"](https?://vid\.me/[^\'"]+)[\'"]',
|
r'src=[\'"](https?://vid\.me/[^\'"]+)[\'"]',
|
||||||
webpage, 'vid.me embed', default=None)
|
webpage, 'vid.me embed', default=None)
|
||||||
|
|
|
@ -1119,6 +1119,12 @@ class VHXEmbedIE(VimeoBaseInfoExtractor):
|
||||||
IE_NAME = 'vhx:embed'
|
IE_NAME = 'vhx:embed'
|
||||||
_VALID_URL = r'https?://embed\.vhx\.tv/videos/(?P<id>\d+)'
|
_VALID_URL = r'https?://embed\.vhx\.tv/videos/(?P<id>\d+)'
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _extract_url(webpage):
|
||||||
|
mobj = re.search(
|
||||||
|
r'<iframe[^>]+src="(https?://embed\.vhx\.tv/videos/\d+[^"]*)"', webpage)
|
||||||
|
return unescapeHTML(mobj.group(1)) if mobj else None
|
||||||
|
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
video_id = self._match_id(url)
|
video_id = self._match_id(url)
|
||||||
webpage = self._download_webpage(url, video_id)
|
webpage = self._download_webpage(url, video_id)
|
||||||
|
@ -1127,5 +1133,6 @@ class VHXEmbedIE(VimeoBaseInfoExtractor):
|
||||||
'ott data'), video_id, js_to_json)['config_url']
|
'ott data'), video_id, js_to_json)['config_url']
|
||||||
config = self._download_json(config_url, video_id)
|
config = self._download_json(config_url, video_id)
|
||||||
info = self._parse_config(config, video_id)
|
info = self._parse_config(config, video_id)
|
||||||
|
info['id'] = video_id
|
||||||
self._vimeo_sort_formats(info['formats'])
|
self._vimeo_sort_formats(info['formats'])
|
||||||
return info
|
return info
|
||||||
|
|
Loading…
Reference in New Issue