]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/bfi.py
3 from .common
import InfoExtractor
4 from ..utils
import extract_attributes
7 class BFIPlayerIE(InfoExtractor
):
9 _VALID_URL
= r
'https?://player\.bfi\.org\.uk/[^/]+/film/watch-(?P<id>[\w-]+)-online'
11 'url': 'https://player.bfi.org.uk/free/film/watch-computer-doctor-1974-online',
12 'md5': 'e8783ebd8e061ec4bc6e9501ed547de8',
14 'id': 'htNnhlZjE60C9VySkQEIBtU-cNV1Xx63',
16 'title': 'Computer Doctor',
17 'description': 'md5:fb6c240d40c4dbe40428bdd62f78203b',
19 'skip': 'BFI Player films cannot be played outside of the UK',
22 def _real_extract(self
, url
):
23 video_id
= self
._match
_id
(url
)
24 webpage
= self
._download
_webpage
(url
, video_id
)
26 for player_el
in re
.findall(r
'(?s)<[^>]+class="player"[^>]*>', webpage
):
27 player_attr
= extract_attributes(player_el
)
28 ooyala_id
= player_attr
.get('data-video-id')
31 entries
.append(self
.url_result(
32 'ooyala:' + ooyala_id
, 'Ooyala',
33 ooyala_id
, player_attr
.get('data-label')))
34 return self
.playlist_result(entries
)