0
0
Fork 0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-11-25 02:45:12 +00:00

[extractor/tv2] Support new url format (#5063)

Closes #4973
Authored by: tobi1805
This commit is contained in:
tobi1805 2022-09-30 18:57:15 +02:00 committed by GitHub
parent 20a7304e4c
commit acf306d1f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -16,23 +16,27 @@
class TV2IE(InfoExtractor): class TV2IE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?tv2\.no/v\d*/(?P<id>\d+)' _VALID_URL = r'https?://(?:www\.)?tv2\.no/v(?:ideo)?\d*/(?:[^?#]+/)*(?P<id>\d+)'
_TESTS = [{ _TESTS = [{
'url': 'http://www.tv2.no/v/916509/', 'url': 'http://www.tv2.no/v/1791207/',
'info_dict': { 'info_dict': {
'id': '916509', 'id': '1791207',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Se Frode Gryttens hyllest av Steven Gerrard', 'title': 'Her kolliderer romsonden med asteroiden ',
'description': 'TV 2 Sportens huspoet tar avskjed med Liverpools kaptein Steven Gerrard.', 'description': 'En romsonde har krasjet inn i en asteroide i verdensrommet. Kollisjonen skjedde klokken 01:14 natt til tirsdag 27. september norsk tid. \n\nNasa kaller det sitt første forsøk på planetforsvar.',
'timestamp': 1431715610, 'timestamp': 1664238190,
'upload_date': '20150515', 'upload_date': '20220927',
'duration': 157, 'duration': 146,
'thumbnail': r're:^https://.*$',
'view_count': int, 'view_count': int,
'categories': list, 'categories': list,
}, },
}, { }, {
'url': 'http://www.tv2.no/v2/916509', 'url': 'http://www.tv2.no/v2/916509',
'only_matching': True, 'only_matching': True,
}, {
'url': 'https://www.tv2.no/video/nyhetene/her-kolliderer-romsonden-med-asteroiden/1791207/',
'only_matching': True,
}] }]
_PROTOCOLS = ('HLS', 'DASH') _PROTOCOLS = ('HLS', 'DASH')
_GEO_COUNTRIES = ['NO'] _GEO_COUNTRIES = ['NO']
@ -114,13 +118,13 @@ def _real_extract(self, url):
class TV2ArticleIE(InfoExtractor): class TV2ArticleIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?tv2\.no/(?:a|\d{4}/\d{2}/\d{2}(/[^/]+)+)/(?P<id>\d+)' _VALID_URL = r'https?://(?:www\.)?tv2\.no/(?!v(?:ideo)?\d*/)[^?#]+/(?P<id>\d+)'
_TESTS = [{ _TESTS = [{
'url': 'http://www.tv2.no/2015/05/16/nyheter/alesund/krim/pingvin/6930542', 'url': 'https://www.tv2.no/underholdning/forraeder/katarina-flatland-angrer-etter-forraeder-exit/15095188/',
'info_dict': { 'info_dict': {
'id': '6930542', 'id': '15095188',
'title': 'Russen hetses etter pingvintyveri - innrømmer å ha åpnet luken på buret', 'title': 'Katarina Flatland angrer etter Forræder-exit',
'description': 'De fire siktede nekter fortsatt for å ha stjålet pingvinbabyene, men innrømmer å ha åpnet luken til de små kyllingene.', 'description': 'SANDEFJORD (TV 2): Katarina Flatland (33) måtte følge i sine fars fotspor, da hun ble forvist fra Forræder.',
}, },
'playlist_count': 2, 'playlist_count': 2,
}, { }, {
@ -138,7 +142,7 @@ def _real_extract(self, url):
if not assets: if not assets:
# New embed pattern # New embed pattern
for v in re.findall(r'(?s)TV2ContentboxVideo\(({.+?})\)', webpage): for v in re.findall(r'(?s)(?:TV2ContentboxVideo|TV2\.TV2Video)\(({.+?})\)', webpage):
video = self._parse_json( video = self._parse_json(
v, playlist_id, transform_source=js_to_json, fatal=False) v, playlist_id, transform_source=js_to_json, fatal=False)
if not video: if not video: