This commit is contained in:
barsnick 2024-07-28 01:17:38 +09:00 committed by GitHub
commit 9955367810
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 77 additions and 0 deletions

View File

@ -636,6 +636,7 @@ from .linkedin import (
LinkedInLearningCourseIE, LinkedInLearningCourseIE,
) )
from .linuxacademy import LinuxAcademyIE from .linuxacademy import LinuxAcademyIE
from .listennow import ListennowIE
from .litv import LiTVIE from .litv import LiTVIE
from .livejournal import LiveJournalIE from .livejournal import LiveJournalIE
from .livestream import ( from .livestream import (
@ -1012,6 +1013,7 @@ from .radiode import RadioDeIE
from .radiojavan import RadioJavanIE from .radiojavan import RadioJavanIE
from .radiobremen import RadioBremenIE from .radiobremen import RadioBremenIE
from .radiofrance import RadioFranceIE from .radiofrance import RadioFranceIE
from .radioplay import RadioplayPodcastIE
from .rai import ( from .rai import (
RaiPlayIE, RaiPlayIE,
RaiPlayLiveIE, RaiPlayLiveIE,

View File

@ -0,0 +1,28 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
class ListennowIE(InfoExtractor):
_VALID_URL = r'https?://(?:[^\.]+\.)?listennow\.link/(?P<id>\d+)'
_TEST = {
'url': 'https://radionorge.listennow.link/10279676',
'info_dict': {
'id': '2035659',
'ext': 'mp3',
'title': 'Best of Høsten 2020',
'description': 'md5:701b09a2bcf9a75b6bfd8a27f359dcfa',
'timestamp': 1603429200,
'upload_date': '20201023',
},
}
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
url = self._search_regex(
r'desktopUrl\s*:\s*\'([^\']+)\'', webpage,
'redirect', video_id)
return self.url_result(url)

View File

@ -0,0 +1,47 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
from ..utils import (
int_or_none,
js_to_json,
parse_iso8601,
unified_strdate,
)
class RadioplayPodcastIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?radioplay\.(?:se|no)/podcast/[^/]+/[^/]+/(?P<id>\d+)'
_TEST = {
'url': 'https://radioplay.se/podcast/lilla-my/lyssna/2001126',
'info_dict': {
'id': '2001126',
'ext': 'mp3',
'title': 'Kaktus till läraren',
'description': 'Lilla My ska köpa en "blomma" till sin lärare.',
'timestamp': 1549898100,
'upload_date': '20190211',
},
}
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
player = self._parse_json(self._search_regex(
r'window\.__PRELOADED_STATE__\s*=\s*({.+})', webpage,
'player', default='{}'), video_id, transform_source=js_to_json)
video_info = player['player']['nowPlaying']
return {
'url': video_info['PodcastExtMediaUrl'],
'id': video_id,
'title': video_info['PodcastTitle'],
'description': video_info.get('PodcastDescription'),
'thumbnail': video_info.get('PodcastImageUrl'),
'release_date': unified_strdate(video_info.get('PodcastPublishDate')),
'timestamp': parse_iso8601(video_info.get('PodcastPublishDate'), ' '),
'duration': int_or_none(video_info.get('PodcastDuration')),
'channel': player.get('podcastsApi').get('data').get('channel').get('PodcastChannelTitle'),
}