]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/telegram.py
1 from .common
import InfoExtractor
2 from ..utils
import clean_html
, get_element_by_class
5 class TelegramEmbedIE(InfoExtractor
):
6 IE_NAME
= 'telegram:embed'
7 _VALID_URL
= r
'https?://t\.me/(?P<channel_name>[^/]+)/(?P<id>\d+)'
9 'url': 'https://t.me/europa_press/613',
13 'title': 'Europa Press',
14 'description': '6ce2d7e8d56eda16d80607b23db7b252',
15 'thumbnail': r
're:^https?:\/\/cdn.*?telesco\.pe\/file\/\w+',
19 def _real_extract(self
, url
):
20 video_id
= self
._match
_id
(url
)
21 webpage
= self
._download
_webpage
(url
, video_id
, query
={'embed': 0}
)
22 webpage_embed
= self
._download
_webpage
(url
, video_id
, query
={'embed': 1}
, note
='Downloading ermbed page')
25 'url': self
._proto
_relative
_url
(self
._search
_regex
(
26 '<video[^>]+src="([^"]+)"', webpage_embed
, 'source')),
29 self
._sort
_formats
(formats
)
33 'title': self
._html
_search
_meta
(['og:title', 'twitter:title'], webpage
, default
=None),
34 'description': self
._html
_search
_meta
(
35 ['og:description', 'twitter:description'], webpage
,
36 default
=clean_html(get_element_by_class('tgme_widget_message_text', webpage_embed
))),
37 'thumbnail': self
._search
_regex
(
38 r
'tgme_widget_message_video_thumb"[^>]+background-image:url\(\'([^
\']+)\'\
)',
39 webpage_embed, 'thumbnail
'),