mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-21 20:46:36 -05:00
[thestar] Add new extractor(closes #5955)
This commit is contained in:
parent
64d4f31d78
commit
2cab48704c
3 changed files with 33 additions and 1 deletions
|
@ -737,6 +737,7 @@
|
||||||
ThePlatformFeedIE,
|
ThePlatformFeedIE,
|
||||||
)
|
)
|
||||||
from .thesixtyone import TheSixtyOneIE
|
from .thesixtyone import TheSixtyOneIE
|
||||||
|
from .thestar import TheStarIE
|
||||||
from .thisamericanlife import ThisAmericanLifeIE
|
from .thisamericanlife import ThisAmericanLifeIE
|
||||||
from .thisav import ThisAVIE
|
from .thisav import ThisAVIE
|
||||||
from .tinypic import TinyPicIE
|
from .tinypic import TinyPicIE
|
||||||
|
|
|
@ -157,7 +157,7 @@ def find_param(name):
|
||||||
if playerKey is not None:
|
if playerKey is not None:
|
||||||
params['playerKey'] = playerKey
|
params['playerKey'] = playerKey
|
||||||
# The three fields hold the id of the video
|
# The three fields hold the id of the video
|
||||||
videoPlayer = find_param('@videoPlayer') or find_param('videoId') or find_param('videoID')
|
videoPlayer = find_param('@videoPlayer') or find_param('videoId') or find_param('videoID') or find_param('@videoList')
|
||||||
if videoPlayer is not None:
|
if videoPlayer is not None:
|
||||||
params['@videoPlayer'] = videoPlayer
|
params['@videoPlayer'] = videoPlayer
|
||||||
linkBase = find_param('linkBaseURL')
|
linkBase = find_param('linkBaseURL')
|
||||||
|
|
31
youtube_dl/extractor/thestar.py
Normal file
31
youtube_dl/extractor/thestar.py
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# coding: utf-8
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from .common import InfoExtractor
|
||||||
|
from .brightcove import BrightcoveLegacyIE
|
||||||
|
from ..compat import compat_parse_qs
|
||||||
|
|
||||||
|
|
||||||
|
class TheStarIE(InfoExtractor):
|
||||||
|
_VALID_URL = r'https?://(?:www\.)?thestar\.com/(?:[^/]+/)*(?P<id>.+)\.html'
|
||||||
|
_TEST = {
|
||||||
|
'url': 'http://www.thestar.com/life/2016/02/01/mankind-why-this-woman-started-a-men-s-skincare-line.html',
|
||||||
|
'md5': '2c62dd4db2027e35579fefb97a8b6554',
|
||||||
|
'info_dict': {
|
||||||
|
'id': '4732393888001',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': 'Mankind: Why this woman started a men\'s skin care line',
|
||||||
|
'description': 'Robert Cribb talks to Young Lee, the founder of Uncle Peter\'s MAN.',
|
||||||
|
'uploader_id': '794267642001',
|
||||||
|
'timestamp': 1454353482,
|
||||||
|
'upload_date': '20160201',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/794267642001/default_default/index.html?videoId=%s'
|
||||||
|
|
||||||
|
def _real_extract(self, url):
|
||||||
|
display_id = self._match_id(url)
|
||||||
|
webpage = self._download_webpage(url, display_id)
|
||||||
|
brightcove_legacy_url = BrightcoveLegacyIE._extract_brightcove_url(webpage)
|
||||||
|
brightcove_id = compat_parse_qs(brightcove_legacy_url)['@videoPlayer'][0]
|
||||||
|
return self.url_result(self.BRIGHTCOVE_URL_TEMPLATE % brightcove_id, 'BrightcoveNew', brightcove_id)
|
Loading…
Reference in a new issue