]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/on24.py
2 from __future__
import unicode_literals
4 from .common
import InfoExtractor
13 class On24IE(InfoExtractor
):
18 https?://event\.on24\.com/(?:
19 wcc/r/(?P<id_1>\d{7})/(?P<key_1>[0-9A-F]{32})|
20 eventRegistration/(?:console/EventConsoleApollo|EventLobbyServlet\?target=lobby30)
21 \.jsp\?(?:[^/#?]*&)?eventid=(?P<id_2>\d{7})[^/#?]*&key=(?P<key_2>[0-9A-F]{32})
25 'url': 'https://event.on24.com/eventRegistration/console/EventConsoleApollo.jsp?uimode=nextgeneration&eventid=2197467&sessionid=1&key=5DF57BE53237F36A43B478DD36277A84&contenttype=A&eventuserid=305999&playerwidth=1000&playerheight=650&caller=previewLobby&text_language_id=en&format=fhaudio&newConsole=false',
29 'title': 'Pearson Test of English General/Pearson English International Certificate Teacher Training Guide',
30 'upload_date': '20200219',
31 'timestamp': 1582149600.0,
35 'url': 'https://event.on24.com/wcc/r/2639291/82829018E813065A122363877975752E?mode=login&email=johnsmith@gmail.com',
36 'only_matching': True,
38 'url': 'https://event.on24.com/eventRegistration/console/EventConsoleApollo.jsp?&eventid=2639291&sessionid=1&username=&partnerref=&format=fhvideo1&mobile=&flashsupportedmobiledevice=&helpcenter=&key=82829018E813065A122363877975752E&newConsole=true&nxChe=true&newTabCon=true&text_language_id=en&playerwidth=748&playerheight=526&eventuserid=338788762&contenttype=A&mediametricsessionid=384764716&mediametricid=3558192&usercd=369267058&mode=launch',
39 'only_matching': True,
42 def _real_extract(self
, url
):
43 mobj
= self
._match
_valid
_url
(url
)
44 event_id
= mobj
.group('id_1') or mobj
.group('id_2')
45 event_key
= mobj
.group('key_1') or mobj
.group('key_2')
47 event_data
= self
._download
_json
(
48 'https://event.on24.com/apic/utilApp/EventConsoleCachedServlet',
51 'displayProfile': 'player',
55 event_id
= str(try_get(event_data
, lambda x
: x
['presentationLogInfo']['eventid'])) or event_id
56 language
= event_data
.get('localelanguagecode')
59 for media
in event_data
.get('mediaUrlInfo', []):
60 media_url
= urljoin('https://event.on24.com/media/news/corporatevideo/events/', str(media
.get('url')))
63 media_type
= media
.get('code')
64 if media_type
== 'fhvideo1':
70 'vcodec': 'avc1.640020',
71 'acodec': 'mp4a.40.2',
73 elif media_type
== 'audio':
82 self
._sort
_formats
(formats
)
86 'title': strip_or_none(event_data
.get('description')),
87 'timestamp': int_or_none(try_get(event_data
, lambda x
: x
['session']['startdate']), 1000),
88 'webpage_url': f
'https://event.on24.com/wcc/r/{event_id}/{event_key}',
89 'view_count': event_data
.get('registrantcount'),