diff --git a/youtube_dl/extractor/britishcouncil.py b/youtube_dl/extractor/britishcouncil.py new file mode 100644 index 000000000..c6afe6b61 --- /dev/null +++ b/youtube_dl/extractor/britishcouncil.py @@ -0,0 +1,30 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .viddler import ViddlerBaseIE + + +class BritishCouncilIE(ViddlerBaseIE): + _VALID_URL = r'https?://(?:www\.)?(?:learnenglish\.)?britishcouncil.org/(?P.*)' + _TEST = { + 'url': 'https://learnenglish.britishcouncil.org/episode-01-they-meet', + 'md5': '796e9c4fa07017e3da79d5e99ef36fe8', + 'info_dict': { + 'id': '34d5e84c', + 'ext': 'mp4', + 'title': 'StartingOut.s01e01', + 'upload_date': '20160927', + 'uploader': 'BCLearnenglish', + 'timestamp': 1474975664, + 'view_count': int, + 'comment_count': int, + } + } + + def _real_extract(self, url): + display_id = self._match_id(url) + webpage = self._download_webpage(url, display_id) + video_id = self._html_search_regex( + r'data-video-id=([\'"])(?P[^\'"]+)\1', + webpage, 'video ID', group='id', default=None) + return self._extract_viddler_info(url, video_id, None) diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index 4b3092028..58e2d0514 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -132,6 +132,7 @@ from .brightcove import ( BrightcoveLegacyIE, BrightcoveNewIE, ) +from .britishcouncil import BritishCouncilIE from .businessinsider import BusinessInsiderIE from .buzzfeed import BuzzFeedIE from .byutv import BYUtvIE