mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-06-30 23:39:05 +00:00
Compare commits
2 Commits
341e89a6a5
...
547e220eff
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
547e220eff | ||
|
|
88523e6795 |
@ -4,7 +4,6 @@ import re
|
|||||||
from .common import InfoExtractor
|
from .common import InfoExtractor
|
||||||
from .jwplatform import JWPlatformIE
|
from .jwplatform import JWPlatformIE
|
||||||
from ..utils import (
|
from ..utils import (
|
||||||
ExtractorError,
|
|
||||||
determine_ext,
|
determine_ext,
|
||||||
js_to_json,
|
js_to_json,
|
||||||
url_or_none,
|
url_or_none,
|
||||||
@ -84,28 +83,22 @@ class TV2DKIE(InfoExtractor):
|
|||||||
}, {
|
}, {
|
||||||
'url': 'https://www.tv2nord.dk/artikel/dybt-uacceptabelt',
|
'url': 'https://www.tv2nord.dk/artikel/dybt-uacceptabelt',
|
||||||
'only_matching': True,
|
'only_matching': True,
|
||||||
|
}, {
|
||||||
|
'url': 'https://www.tv2kosmopol.dk/metropolen/chaufforer-beordres-til-at-kore-videre-i-ulovlige-busser-med-rode-advarselslamper',
|
||||||
|
'only_matching': True,
|
||||||
}]
|
}]
|
||||||
|
|
||||||
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)
|
||||||
|
|
||||||
search_space = traverse_obj(webpage, {find_element(tag='article')}) or webpage
|
search_space = traverse_obj(webpage, {find_element(tag='article')}) or webpage
|
||||||
players = re.findall(r'x-data="(?:video_player|simple_player)\(({[^"]+})', search_space)
|
|
||||||
|
|
||||||
entries = []
|
player_ids = traverse_obj(
|
||||||
for player in players:
|
re.findall(r'x-data="(?:video_player|simple_player)\(({[^"]+})', search_space),
|
||||||
player_data = self._parse_json(
|
(..., {js_to_json}, {json.loads}, ('jwpMediaId', 'videoId'), {str}))
|
||||||
player, video_id, transform_source=js_to_json, fatal=False)
|
|
||||||
jwplayer_id = traverse_obj(player_data, (('jwpMediaId', 'videoId'), {str}, any))
|
|
||||||
if jwplayer_id:
|
|
||||||
entries.append(self.url_result(f'jwplatform:{jwplayer_id}', JWPlatformIE, jwplayer_id))
|
|
||||||
|
|
||||||
if len(entries) == 1:
|
return self.playlist_from_matches(
|
||||||
return entries[0]
|
player_ids, video_id, getter=lambda x: f'jwplatform:{x}', ie=JWPlatformIE)
|
||||||
elif len(entries) > 1:
|
|
||||||
return self.playlist_result(entries, video_id)
|
|
||||||
raise ExtractorError(f'No video found for {video_id}', expected=True)
|
|
||||||
|
|
||||||
|
|
||||||
class TV2DKBornholmPlayIE(InfoExtractor):
|
class TV2DKBornholmPlayIE(InfoExtractor):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user